阶乘运算
1!+2!+3!+4!+5!
通过高中知识可以知道
结果是=1+1 *2+1 *2 *3+1 *2 *3 *4+1 *2+ *3+ *4+ *5=153
可以通过c语言循环的方式实现
#include <stdio.h>
int main()
{
int i, j, sum = 0, t;
for (i = 1; i <= 5; i++) {
t = 1;
for (j = 1; j <= i; j++) {
t = t * j;
}
sum = sum + t;
}
printf("总和是%d", sum);
return 0;
}
i和j是循环数,通过i来实现1-5之间的循环计算,然后通过j的循环来实现阶乘,最后用sum来获取总和,成功输出了153
也可以通过实现自定义函数来求解(不借助循环)
#include <stdio.h>
int fun(int a);
int main()
{
int sum;
sum=fun(1)+fun(2)+fun(3)+fun(4)+fun(5);
printf("总和是%d",sum);
return 0;
}
int fun(int a)
{
if(a==1) return a;
else return a*fun(a-1);
}
通过自定义fun函数,如果a==1是就返回1,因为1!=1
当a!=1时,返回a自身*fun( a-1),使得a-1继续进入fun函数,只有a-1为1时,才能结束,从而满足阶乘的运算法则