c++用递归函数求n的阶乘之和
时间: 2024-12-16 12:30:51 浏览: 97
在C++中,递归函数可以用来计算给定整数n的阶乘之和。阶乘是指从1到n的所有正整数相乘的结果,通常表示为`n!`。如果我们要计算1到n所有阶乘之和,可以编写一个递归函数,例如:
```cpp
#include <iostream>
// 递归函数计算从1到n的阶乘之和
unsigned long long factorial_sum(int n) {
if (n == 0 || n == 1) { // 阶乘的基本情况,0! = 1 和 1! = 1
return 1;
} else {
return n * factorial_sum(n - 1); // 递归调用,每次将当前数乘以前面所有数的阶乘和
}
}
int main() {
int n;
std::cout << "请输入一个整数n: ";
std::cin >> n;
try {
unsigned long long sum = factorial_sum(n);
std::cout << "从1到" << n << "的阶乘之和是: " << sum << std::endl;
} catch (const std::overflow_error& e) {
std::cerr << "溢出错误: " << n << "的阶乘超过了long long的最大值." << std::endl;
}
return 0;
}
```
在这个例子中,用户输入一个整数n,然后程序会计算并打印从1到n的阶乘之和。注意,对于较大的n值,可能会导致数值溢出,因此在实际应用中需要处理这种情况。
阅读全文
相关推荐
















