C语言程序设计求1!+2!+3!+…+20!的和

如题所述

求1!+2!+3!+…+20!,最好是用循环做,用递归法,程序的资源开销大,效率低,运算时间将更长!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-25
#include<stdio.h>

int fact(int i){
if(i==1){
return 1;

}
else{
return i*fact(i-1);

}

}

void main(){
int i=20;
int sum=0;

for(int j=1;j<=20;j++){
sum+=fact(i);

}
printf("result=%d",sum);

}
第2个回答  2018-03-13
main()
{
int n;
/***********SPACE***********/
double s=0,t=1;
/***********SPACE***********/
for(n=1;n<=20;n++)
{
/***********SPACE***********/
t*=n;
/***********SPACE***********/
s+=t;
}
/***********SPACE***********/
printf("1!+2!+3!…+20!=%lf\n",s);
}
第3个回答  2012-10-25
答案如下:

#include<stdio.h>
main(){
int i,j;long k=1,sum=0;
for(i=1;i<=20;i++){
for(j=1;j<=i;j++)
k=k*j;
sum=sum+k;
k=1;}
printf("%d",sum);
}本回答被提问者和网友采纳
相似回答