首先简蛋来说一下计算N的阶乘什么意思,,所谓 n 的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n。比如:5的阶乘,5x4x3x2x1=120;
那么问题来了怎么用C语言中的来写N阶乘;
话不多说上代码:
#include<stdio.h>
int main()
{
int a = 0;
int n = 0;
scanf("%d", &n); 通过输入的变量来控制循环次数
int sum = 1; //通过sum来保留上一次循环数值
for (a = 1; a <= n; a++)
{
sum *= a; //每循环一次累计计算n阶乘
}
printf("%d\n", sum);
return 0;
}
说明:
同过输入的n个变量来控制循环次数,比如:输入5,依次循环5次。而通过sum循环累计算n的阶乘,每计算的结果保留在sum中,直到循环结束就是n的阶乘。
结果:
那么如何称一次加一次?
那简单分析一下阶乘,阶乘就是在循环的基础上累计称在一起,就是循环一次累计称一次。
那么加一次是不是同样的道理。比如:4!+3!+2!+1!=33 ,就是在乘一次累计加一次;
上代码:
#include<stdio.h>
int main()
{
int a = 0;
int n = 0;
scanf("%d", &n);
int sum = 1;
int ret = 0;
for (a = 1; a <= n; a++)
{
sum *= a;
ret += sum;
}
printf("%d", ret);
return 0;
}
说明:
ret 是通过sum乘一次累计加一次,直到循环结束。
当然了还有其他的的写法;