信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1091:求阶乘的和

时间限制: 1000 ms 内存限制: 65536 KB
提交数: 9152 通过数: 7101

【题目描述】

给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3!+…+n!),输出阶乘的和。

【输入】

输入有一行,包含一个正整数n(1 < n < 12)。

【输出】

输出有一行:阶乘的和。

【输入样例】

5

【输出样例】

153

【来源】

NO

代码

#include <stdio.h>
long int jiecheng(int a)
{
	if(a==1)
	{
		return 1;
	}
	else
	return a*(jiecheng(a-1));
}
int main ()
{
	int n;
	long int sum=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		sum+=jiecheng(i);
	}
	printf("%ld",sum);
	return 0;
}
posted @ 2019-03-13 10:10  AlexKing007  阅读(104)  评论(0编辑  收藏  举报