C++实现不大于n的正整数阶乘和的计算
### 🔍 问题分析 本题要求计算不大于 `n` 的正整数的阶乘的和,即 `1! + 2! + 3! + ... + n!`。我们可以通过循环依次计算每个数的阶乘,并将其累加到总和中。 ### 💡 代码实现 ```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; int sum = 0; // 用于存储阶乘的和 int factorial = 1; // 用于存储当前数的阶乘 for (int i = 1; i <= n; i++) { factorial *= i; // 计算当前数的阶乘 sum += factorial; // 将当前数的阶乘累加到总和中 } cout << sum << endl; return 0; } ``` ### 📝 代码解释 1. **输入处理**:使用 `cin` 读取用户输入的正整数 `n`。 2. **初始化变量**: - `sum`:用于存储阶乘的和,初始值为 0。 - `factorial`:用于存储当前数的阶乘,初始值为 1。 3. **循环计算阶乘和**: - 使用 `for` 循环从 1 到 `n` 遍历每个数。 - 在每次循环中,计算当前数的阶乘 `factorial *= i`。 - 将当前数的阶乘累加到总和 `sum` 中。 4. **输出结果**:使用 `cout` 输出阶乘的和。 ### 💻 复杂度分析 - **时间复杂度**:$O(n)$,因为只需要遍历一次从 1 到 `n` 的所有数。 - **空间复杂度**:$O(1)$,只使用了常数级的额外空间。 ### 🛠️ 开发建议 - **边界检查**:在实际应用中,应该对输入的 `n` 进行边界检查,确保其在合法范围内(本题要求 `1 < n < 12`)。 - **代码可读性**:可以将计算阶乘的逻辑封装成一个函数,提高代码的可读性和可维护性。 ######[AI写代码神器 | 538点数解答 | 2026-02-13 20:07:39]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)318
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)288
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)43
- C++实现:计算1到不超300的n之间所有奇数之和(DeepSeek | 97点数解答 | 2025-11-01 14:30:12)38
- 轻松计算 1 到 300 内整数间所有奇数和:C++代码实现(字节豆包 | 170点数解答 | 2025-11-01 19:41:22)43
- C++ 实现:计算 1 到 300 内整数中奇数之和(附代码详解与复杂度分析)(字节豆包 | 291点数解答 | 2025-11-01 19:42:26)126
- C++实现:计算m到n间所有奇数之和(含代码详解)(字节豆包 | 151点数解答 | 2025-11-10 13:44:18)80
- C++实现:计算1到n(≤300)间所有奇数和的代码及详细解析 (字节豆包 | 221点数解答 | 2025-11-13 19:39:24)113
- C++实现:计算1到不超300整数间所有奇数和的代码详解(字节豆包 | 328点数解答 | 2025-11-16 11:45:53)46
- C++实现:计算1到n(n≤300)间所有奇数的和(字节豆包 | 134点数解答 | 2025-11-17 12:57:55)52
- C++ 实现:计算 1 到不超 300 的 n 之间所有奇数和及代码详解 (字节豆包 | 323点数解答 | 2025-11-22 18:18:35)46
- 轻松计算 1 到 300 内奇数和:公式推导与 Python 代码实现(DeepSeek | 336点数解答 | 2025-12-05 23:12:35)79