c ++求n的阶乘之和
时间: 2024-10-27 17:04:44 浏览: 29
C语言练习题:求1到10的阶乘之和简单实例
5星 · 资源好评率100%
在C++中,计算从1到n的所有正整数的阶乘之和是一个常见的数学问题,可以使用循环和递归的方式来解决。以下是递归版本的解决方案:
```cpp
#include <iostream>
using namespace std;
unsigned long long factorialSum(int n) {
if (n == 0 || n == 1)
return 1; // 阶乘的基本情况,0! 和 1! 都等于1
// 递归部分:阶乘 = n * (n - 1)!
unsigned long long result = n * factorialSum(n - 1);
return result;
}
int main() {
int n;
cout << "请输入一个正整数n: ";
cin >> n;
try {
// 计算阶乘之和并打印结果
unsigned long long sum = factorialSum(n);
cout << "1到" << n << "的阶乘之和是: " << sum << endl;
} catch (overflow_error &e) {
cerr << "计算溢出错误: " << e.what() << endl;
}
return 0;
}
```
阅读全文