#include
int main(void){
__int64 sum,i,t;
for(t=sum=1,i=2;i<21;sum+=t*=i++);
printf("1!+2!+3!+...+20! = %I64d\n",sum);
return 0;
}
如果你的平台没有__int64型,可以用long long型。如果也没有那就用double型,但结果不很精准。
# include
long f(int n)
{
if(n==0||n==1)
return 1;
else
return n*f(n-1);
}
int main(void)
{
int i,n=20;
long sum=0;
for(i=1;i<=n;i++)
sum=sum+f(i);
printf("%ld\n",sum);
return 0;
}
具体的你再看看