对于给定的正整数N,需要你计算 S = 1! + 2! + 3! + ... + N!。
输入格式:
输入在一行中给出一个不超过10的正整数N。
输出格式:
在一行中输出S的值。
输入样例:3输出样例:
9
#include <stdio.h>
int main()
{
int i,j,num,prod=1,sum=0; //num 阶乘个数 prod 各阶乘的结果
scanf("%d",&num);
for(i=num;i>0;i--)
{
for(j=i;j>0;j--) //内循环求每个阶乘的结果
prod=prod*j; sum+=prod; // 求各阶乘之和
}
printf("%d",sum);
return 0;
}
改进 : 无需嵌套内循环 。。。
main()
{
float n,s=0,t=1;
for(n=1;n<=20;n++)
{
t*=n;
s+=t;
}
printf("1+2!+3!...+20!=%e\n",s);