L1-013 计算阶乘和(数学计算)

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

输入格式:

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

输出格式:

在一行中输出 $S$ 的值。

输入样例:

1
3

输出样例:

1
9

思路:

本题数据小,就用递归实现阶乘了。

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <bits/stdc++.h>
using namespace std;

int N, sum = 0;

int fac(int n)
{
if(n == 0)
return 1;
else
return n * fac(n-1);
}

int main()
{
cin >> N;
for(int i = 1; i <= N; i++)
{
sum += fac(i);
}

cout << sum;

return 0;
}