【问题描述】使用递归编写一个函数fac实现求n的阶乘,并编写主函数调用fac函数,验证函数的正确性。
时间: 2024-02-26 10:57:56 浏览: 24
好的,下面就是 C++ 代码实现:
```cpp
#include <iostream>
using namespace std;
int fac(int n) {
if (n == 0) {
return 1; // 0 的阶乘为 1
} else {
return n * fac(n - 1); // 递归调用求解 n-1 的阶乘
}
}
int main() {
int n = 5;
cout << n << " 的阶乘为:" << fac(n) << endl; // 输出 5 的阶乘
return 0;
}
```
这个函数使用了递归的思想,当 `n` 为 0 时,直接返回 1,否则递归调用 `fac(n - 1)` 并将结果乘以 `n`,得到 `n` 的阶乘。在主函数中,我们定义了一个整型变量 `n`,并输出它的阶乘,验证了 `fac` 函数的正确性。
相关问题
用c语言【问题描述】使用递归编写一个函数fac实现求n的阶乘,并编写主函数调用fac函数,验证函数的正确性。
好的,下面就是 C 语言的代码实现:
```c
#include <stdio.h>
int fac(int n) {
if (n == 0) {
return 1; // 0 的阶乘为 1
} else {
return n * fac(n - 1); // 递归调用求解 n-1 的阶乘
}
}
int main() {
int n = 5;
printf("%d 的阶乘为:%d\n", n, fac(n)); // 输出 5 的阶乘
return 0;
}
```
这个函数使用了递归的思想,当 `n` 为 0 时,直接返回 1,否则递归调用 `fac(n - 1)` 并将结果乘以 `n`,得到 `n` 的阶乘。在主函数中,我们定义了一个整型变量 `n`,并输出它的阶乘,验证了 `fac` 函数的正确性。
使用递归编写一个函数fac实现求n的阶乘,并编写主函数调用fac函数,验证函数的正确性。 【输入形式】 Please Input n:7 【输出形式】 7!=5040
好的,以下是使用递归实现求阶乘的代码:
```python
def fac(n):
if n == 0:
return 1
else:
return n * fac(n-1)
n = int(input("Please Input n:"))
print("{}!={}".format(n, fac(n)))
```
运行结果如下:
```
Please Input n:7
7!=5040
```