酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

C++正整数阶乘求和算法实现

```cpp #include <iostream> using namespace std; // 计算不大于n的正整数阶乘的和 long long factorialSum(int n) { long long sum = 0; // 阶乘和 long long fact = 1; // 当前阶乘值 for (int i = 1; i <= n; i++) { fact *= i; // 计算 i! sum += fact; // 将 i! 加到总和中 } return sum; } int main() { int n; cout << "请输入正整数 n: "; cin >> n; if (n <= 0) { cout << "请输入正整数!" << endl; return 1; } long long result = factorialSum(n); cout << "1! + 2! + ... + " << n << "! = " << result << endl; return 0; } ``` 代码说明: - `factorialSum` 函数从 1 开始遍历到 n,每次迭代计算当前阶乘值 `fact *= i`,然后累加到 `sum` 中 - 使用 `long long` 类型避免整数溢出,当 n 较大时(如 n>=20)结果可能仍会溢出,可考虑使用大数库 - 循环只使用了 `O(1)` 额外空间,时间复杂度为 `O(n)` ######[AI问答 | 319点数解答 | 2026-04-24 20:47:43]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]