递归算法求阶乘GCC9.3
时间: 2024-03-30 17:32:45 浏览: 81
递归算法是一种自我调用的算法,通过将问题分解为更小的子问题来解决。对于求阶乘的递归算法,可以定义如下:
```c++
#include <iostream>
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int num = 5;
int result = factorial(num);
std::cout << "The factorial of " << num << " is: " << result << std::endl;
return 0;
}
```
在上述代码中,`factorial` 函数通过递归调用自身来计算阶乘。当 `n` 的值为 0 或 1 时,递归终止,返回 1。否则,递归调用 `factorial(n - 1)` 来计算 `n` 的阶乘。
运行上述代码,将输出 `The factorial of 5 is: 120`,表示 5 的阶乘为 120。
阅读全文