递归求阶乘数列

任务描述

题目描述:用递归求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;
}

猜你喜欢

转载自blog.csdn.net/weixin_51705589/article/details/112981803