【GPLT】L1-013 计算阶乘和

正文索引 [隐藏]

题目描述:

对于给定的正整数N,需要你计算 S=1!+2!+3!+…+N!。

输入描述:

输入在一行中给出一个不超过10的正整数N。

输出描述:

在一行中输出S的值。

输入样例:

3

输出样例:

9

解题思路:

自定义一个fun()函数用来求解n!,然后无脑for循环累加1~n!的和输出即可。

AC代码:

#include <bits/stdc++.h>
using namespace std;

int fun(int n)    //用来求n!
{
	int sum = 1;
	for(int i = 1; i <= n; i++)
	{
		sum *= i;
	}
	return sum;
}

int main()
{
	int N;
	cin >> N;
	int sum = 0;
	for (int i = 1; i <= N; i++)   //累加1~N!
	{
		sum += fun(i);
	}	
	cout << sum << endl;
	return 0;
}