阶乘相加的问题C语言

来源:百度知道 编辑:UC知道 时间:2024/05/31 19:23:21
这是我对阶乘的理解,并做出的阶乘代码:
#include<stdio.h>
main()
{
int i,sum;
sum=1;
for(i=1;i<=10;i++)
sum=sum*i;
printf("%d",sum);
}
这段代码是10的阶乘,可是我的目标是1!+2!....10!,如何实现呢?
我的思想是一个循环做1-10的阶乘,另一个循环做1-10阶乘相加,这样可以吗?我现在的能力只能做到每个阶乘,就是弄不好他们加到一起,
如果做两个循环,外循环循环相加,内循环阶乘,还是外循环阶乘,内循环相加呢?

int i,sum;
sum=1;
int total=0;
for(i=1;i<=10;i++)
{
sum=sum*i;
total=total+sum;
}

printf("%d",sum);
printf("%d",total);

main()
{
int i,sum=0;
for(i=1;i<=4;i++)
{
int temp=1;
for(int j=i;j>=1;j--)
{
temp=temp*j;
}
sum=sum+temp;
}
printf("%d",sum);

}

还可以用递归来实现的,方法很多种!具体自己找书来看吧,这些都是基础!!

//
int getsum(unsigned N)
{
if(N==0)
return 0;
int jiechen =1;
int sum = 0;
for(int i=1; i<=N; ++i)
{
jiechen = jiechen*i;
sum += jiechen;
}
return sum;
}