n的阶乘用符号表示就是 n!
一般我们说像是5的阶乘就是表示为:5!=1*2*3*4*5
我们用C语言来实现:
1.迭代
int main() (用迭代的方法求n的阶乘
{
int n = 0; //首先定义一个n变量 用来输入数
scanf("%d", &n);
int i = 0; //i用来控制循环
int ret = 1; //ret用来把之前循环乘的值存放起来,注意不能为0,0*任何数=0
for (i = 1; i <= n; i++) //从1开始乘,乘到n
{
ret *= i; //ret =ret*i 每乘一次就循环一次并且把之前乘的值存放到上一个ret中
}
printf("%d的阶层是:%d\n", n, ret);
2.递归
int Fac(int n) 函数递归求n!
{
if (n <= 1)
return 1;
else
return n * Fac(n-1);//递归 当前面判断不是<=1的时候
// 就返回n*Fac(n-1),Fac这个函数每调用一次就是原来的n再减去1,
//比如n=3;那么:return 3*Fac(3-1)*Fac(2-1);Fac(2-1)就是1直接return 1就行了
}
int main()
{
int n = 0;
scanf("%d", &n);
int ret = Fac(n);
printf("%d", ret);
return 0;
}
两种方法都可以求到,不过个人感觉迭代的方法相对更容易理解