C++用递归方法求n的阶乘
时间: 2024-10-27 11:06:33 浏览: 14
C++递归实现求阶乘和(含实现原理和代码注释)
在C++中,你可以使用递归函数来计算一个数n的阶乘。阶乘是一个数的所有小于及等于它的正整数的积,通常表示为n!。下面是递归求解阶乘的一个示例:
```cpp
#include <iostream>
// 定义递归函数来计算阶乘
long long factorial(int n) {
// 基线条件:0和1的阶乘都是1
if (n == 0 || n == 1) {
return 1;
} else {
// 递归情况:n的阶乘等于n乘以(n-1)的阶乘
return n * factorial(n - 1);
}
}
int main() {
int num;
std::cout << "请输入一个非负整数:";
std::cin >> num;
try {
// 计算并打印阶乘结果
long long result = factorial(num);
std::cout << "该数字的阶乘是:" << result << std::endl;
} catch (const std::overflow_error& e) {
std::cerr << "计算阶乘过程中溢出,因为n过大。" << std::endl;
}
return 0;
}
```
阅读全文