本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。
#include <stdio.h>
int main()
{
int n;
int sum = 0;
scanf("%d",&n);
for(int x=1;x<=n;x++)
{
int sum1 = 1;
for(int i=1;i<=x;i++)
{
sum1 = sum1 * i;
}
sum =sum + sum1;
}
printf("%d\n",sum);
return 0;
}
此题包含两个循环,一个是n!类型,一个是1+2+3+4+……+n的类型
所以分开求循环,第一个循环在第二个循环之中,可得答案。
不过在循环有规律时(各个数值相加的类型),可以不用循环,用数列相关公式求解,如:1+2+3+4+……+n可以写成(n^2)/2+n/2