题目描述:用递归求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。
编程要求输入
一个整数n(1<=n<=20)
输出
输出表达式的值,占一行。
测试说明样例输入:
5
样例输出:
153
提示:
因阶乘结果变化很快,所以输入数据不可太大。
代码如下
#include<stdio.h>long long solve(long long n){ /*********Begin*********/int i;long long a=1;for(i=1;i<=n;i++){a=i*a;}return a; /*********End**********/}int main(void){ long long n,i; scanf("%lld",&n); long long ans=0; for(i=1;i<=n;i++) { ans+=solve(i);} printf("%lld", ans); return 0;}