定义公式F(n) = 1 + 2! + 3! + … + n! ,我们输入一个数字n,需要计算出F(n)
输入:输入是一个数字,这个数字表示n(1<= n <= 15)
输出:输出一个数字,这个数字表F(n)的值
提示:int类型表示的最大值为2147483647 ,考虑用long类型存储F(n)的值
样例输入
2
样例输出
3
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
long f[n]={1};
long sum=0;
for(int i=1;i<n;i++){
f[i]=f[i-1]*(i+1);
}
for(int i=0;i<n;i++) sum+=f[i];
printf("%ld", sum);
return 0;
}
思路:先输入要求的n,然后分别计算1到n的阶乘,最后再把各个阶乘的结果相加即可。需要注意的是,5!=4!*5,因此阶乘不需要重复计算。
总结:简单的题,只是想把这个思路写下来,在写代码之前先找找题里面的窍门。