酷代码 AI
菜单

题目描述 N ! = 1 ∗ 2 ∗ . . . ∗ N N!=1∗2∗...∗N 例如: 5 ! = 1 ∗ 2 ∗ 3 ∗ 4 ∗ 5 = 120 5!=1∗2∗3∗4∗5=120 请你编程求 1 ! + 2 ! + 3 ! + . . . + N ! 1!+2!+3!+...+N! 输入格式 一个正整数 N N。 输出格式 输出一个整数,表示计算结果。 输入输出样例 input1 复制 3 output1 复制 9 input2 复制 5 output2 复制 153 数据规模与约定 对于 100 % 100% 的数据,保证 1 ≤ N ≤ 10 1≤N≤10。 C++

```cpp #include <iostream> using namespace std; // 计算一个数的阶乘 int factorial(int num) { int result = 1; // 从 1 到 num 进行累乘 for (int i = 1; i <= num; i++) { result *= i; } return result; } // 计算 1! + 2! + ... + N! int sumOfFactorials(int N) { int sum = 0; // 遍历 1 到 N,计算每个数的阶乘并累加到 sum 中 for (int i = 1; i <= N; i++) { sum += factorial(i); } return sum; } int main() { int N; // 读取输入的正整数 N cin >> N; // 计算并输出 1! + 2! + ... + N! 的结果 cout << sumOfFactorials(N) << endl; return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 计算阶乘时,要注意整数溢出问题,虽然本题数据范围较小不会溢出,但在更大数据范围时需要考虑使用更大的数据类型。 2. 在循环计算阶乘和累加阶乘和时,要确保循环的起始和结束条件正确,避免出现计算错误。 3. 对于输入的合法性检查,本题默认输入是合法的正整数,但在实际应用中,可能需要添加输入验证代码,防止输入非法数据。 [2026-01-30 12:03:41 | AI写代码神器 | 370点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多