求1!+2!+3!+4!+5!..........18!+19!+20! C语言编程代码

来源:百度知道 编辑:UC知道 时间:2024/06/21 18:27:21
救救我吧

1!+2!+3!+4!+5!..........18!+19!+20!
这个结果,非常大,用long类型,也会溢出的。到13!的时候,就溢出了。

#include<stdio.h>
long factorial(int);

void main()
{
long result=0;
int i;
for (i=1;i<=20;i++){
result=result+factorial(i);
}
printf("The result is:%ld\n",result);
}
long factorial(int i)
{
long result;
int a=1;
for (;a<=i;a++)
result=result*a;
return result;
}

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