C语言 求1!+2!+3!+...+20!

来源:百度知道 编辑:UC知道 时间:2024/05/19 04:14:17
求1!+2!+3!+...+20!的程序。谢谢各位。

main()
{
unsigned long tn=1,sn=0,i;
for(i=1;i<=20;i++)
{
tn*=i;
sn+=tn;
}
printf("%u\n",sn);
}

main()
{int i,j=1,k=0;
for(i=1;i<=20;i++)
{j=j*i;
k+=j;
}
printf("%d\n",k);
}

#include<stdio.h>
void main()
{
int temp=1,sum=0;
for(int i=1;i<=20;i++)
{
temp=temp*i;
sum=sum+temp;
}
printf("%d",sum);
}

}

1楼的数据类型定义有问题,20!用int显然是存不了的

#include<stdio.h>
void main()
{
int i,j,n;
double a,s=0;
for(i=1;i<=20;i++)
{
for(j=1,a=1;j<=i;j++)
a*=j;
s+=a;
}

printf("s=%f\n",s);
}

#include<stdio.h>

long fun1(int i)
{
if(i==1) return i;
else return i*fun1(i-1);
}

long fun2(int i)
{
if(