2 条题解
-
1
这题思路很简单
只需要根据题目就能看出,求的就是1! + 2! + 3! + ... + n!.
而n!就是1 * 2 * 3 * ... * n.
那么就可以写两层循环,第一层为从1~n,第二层为1~i,然后使用一个 cnt数组去存第二次循环所以数的积,在第二层循环之后,使用一个ans数组去存所有cnt相加的和。
代码如下:
#include <bits/stdc++.h> using namespace std; int n, ans = 0; int main() { cin >> n; for (int i = 1; i <= n; i++) { int cnt = 1; for (int j = 1; j <= i; j++) { cnt *= j; } ans += cnt; } cout << ans ; return 0; }
信息
- ID
- 30023
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 5
- 已通过
- 4
- 上传者