1.用递归法编写计算 n!的自定义函数,主函数实现通过键盘输入一个整数 n,调用上述自定义函数计算并输出 n!
时间: 2024-03-13 16:45:22 浏览: 76
C语言中利用递归的方式得到n!
5星 · 资源好评率100%
好的,下面是实现代码:
```c++
#include <iostream>
using namespace std;
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n;
cout << "请输入一个整数 n:";
cin >> n;
cout << n << "! = " << factorial(n) << endl;
return 0;
}
```
以上代码中,`factorial` 是递归函数,用于计算 n 的阶乘。当 n 为 0 时,返回 1;否则,返回 n 与 factorial(n-1) 的乘积。在 `main` 函数中,我们先从键盘输入一个整数 n,然后调用自定义函数 `factorial` 计算 n! 并输出结果。
递归函数的思想是将问题转化为更简单的子问题,并通过调用自身来解决子问题,直到问题无法再分解为止。由于递归函数会反复调用自身,因此需要注意递归深度和内存占用等问题。在实际开发中,应当谨慎使用递归函数。
阅读全文