##题目描述
求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。
##输入格式
n
##输出格式
Sn的值
##样例输入
5
##样例输出
153
解题思路:
首先我们看到是让求阶乘的和,这样解题思路会有两步先求阶乘,再进行求和。其次从题目中可得“n不超过20”,因为这是阶乘求和,一般的int 类型可能就不够,因此我们利用long long int 类型来定义Sn,同时long long的格式指定符为%lld。求阶乘和求和的过程我用了一个for循环 for(int i=1;i<=n;i++) {t*=i;sum+=t; },最后用printf函数输出和值就可以了。具体代码如下:
#include<stdio.h>
int main()
{
int t=1;
int n;
long long int sum;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
t*=i;
sum+=t;
}
printf("%lld\n",sum);
return 0;
}