c++递归实现求n的阶乘
时间: 2024-10-27 20:07:55 浏览: 16
C++递归实现求阶乘和(含实现原理和代码注释)
在C++中,可以使用递归来实现计算一个整数n的阶乘。阶乘是一个正整数n与所有小于它的正整数相乘的结果,通常表示为n!。以下是递归函数的一个示例:
```cpp
#include <iostream>
using namespace std;
// 递归函数,计算n的阶乘
int factorial(int n) {
if (n == 0 || n == 1) { // 基本情况:0和1的阶乘都是1
return 1;
} else {
// 递归情况:n的阶乘等于n乘以(n-1)的阶乘
return n * factorial(n - 1);
}
}
int main() {
int num;
cout << "请输入一个非负整数:";
cin >> num;
// 检查输入是否合法
if (num < 0) {
cout << "错误:阶乘只对非负整数有意义。\n";
} else {
long long result = factorial(num); // 防止结果溢出,使用long long存储大数值
cout << "该数字的阶乘是:" << result << endl;
}
return 0;
}
```
阅读全文