写完整的用递归函数实现求n!的代码
时间: 2024-03-13 20:44:31 浏览: 60
下面是用递归函数实现求n!的完整代码:
```c++
#include <iostream>
using namespace std;
// 递归函数实现求n!
int factorial(int n) {
if (n == 0) { // 0的阶乘为1
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)`,即 `n` 乘以 `(n-1)!` 的值。在 `main` 函数中,我们读取用户输入的非负整数 `n`,并调用 `factorial` 函数来计算 `n!` 的值,并输出结果。
相关问题
写用递归函数实现求n!的代码
好的,以下是用递归函数实现求n!的代码:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
```
这个函数的递归思路很简单:如果n等于0,则返回1;否则,返回n乘以n-1的阶乘。因此,当我们想要计算n的阶乘时,只需要调用`factorial(n)`即可。
用C语言 实现用递归函数实现求n!
以下是用C语言实现用递归函数求n!的代码:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n, result;
printf("请输入一个整数:");
scanf("%d", &n);
if (n < 0) {
printf("请输入非负整数!\n");
return -1;
}
result = factorial(n);
printf("%d! = %d\n", n, result);
return 0;
}
```
函数factorial用递归的方式实现了求n!的过程。当n为0或1时,直接返回1;否则,返回n乘以factorial(n-1)的值。在main函数中,首先读入一个整数n,若n小于0则输出错误信息,否则调用factorial函数求n!并输出结果。
阅读全文