求1!+2!+3!+4!+……+n!
方法1:两重循环,外循环算阶乘和,内循环算阶乘(这个方法时间复杂度高,用方法2比较好)
方法2:一重循环,第n个数的阶乘结果是n*第n-1个数的阶乘结果
#include
main()
{
int i,j,sum=0,n,sum1=1;
i=j=1;
scanf("%d",&n);
while(i<=n)
{
while(j<=i)
{
sum1=sum1*j;
j++;
printf("%d",sum1);
}
sum+=sum1;
i++;
}
printf("%d",sum);
return 0;
}
#include
main()
{
int i,j,sum=0,n,sum1=1;//sum为阶乘和,sum1为阶乘结果
i=j=1;
printf("请输入n:");
scanf("%d",&n);
while(i<=n)
{
sum1*=i;//计算阶乘,第n个数的阶乘结果是n*第n-1个数的阶乘结果
printf("%d\n",sum1);
sum+=sum1;
i++;
}
printf("%d",sum);
return 0;
}
#include
int Temp(int a)
{
int b;
if(a==0) b=1;//递归出口
else b=a*Temp(a-1);
return (b);
}
int main()
{
int i,n,sum=0;
printf("请输入n:");
scanf("%d",&n);
for(i=1;i<=n;i++) sum+=Temp(i);
printf("结果是:%d",sum);
}
欢迎大家指出错误的地方