c语言中for语句编写阶乘

来源:百度知道 编辑:UC知道 时间:2024/04/28 13:55:52
输入一个n,求1!+2!+3!。。。+n!的值

main()
{
int i,n;
long sum=0,m=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
m*=i;
sum=sum+m;
}
printf("%ld\n",sum);
}

main()
{int i,j,n;
long r=0,sum;
printf("please input n : ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{sum=1;
for(j=1;j<=i;j++)
sum*=j;
r+=sum;
}
printf("1!+2!+...+%d!=%ld\n",n,r);
getch();
}

main()
{
int x,i,j,y=0;
for(i=1;i<=n;i++)
{
x=1;
for(j=1;j<=i;j++)
x*=j;
y+=x;
}
}

int i,j;
long sum=1,result;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
result=1;
for(j=2;j<=i;j++)
{
result*=j;
}
sum=sum+result;
}
printf("%ld",sum);

以上几位同仁说的似乎都有道理,但若n取值较大时就不适用了,比如n=100时如此计算阶乘就不行了。
#include <iostream.h>
void main()
{