递归函数计算n的阶乘
时间: 2023-08-07 22:07:30 浏览: 51
下面是一个计算n的阶乘的递归函数:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
```
该函数首先检查 `n` 是否等于 1,如果是,则直接返回 1。否则,它会递归调用自己,计算 `(n-1)` 的阶乘,并将结果乘以 `n`,最终返回结果。
请注意,递归函数必须有一个结束条件,以避免无限递归。在这个例子中,结束条件是 `n == 1`。
相关问题
python递归函数计算阶乘和
以下是Python递归函数计算阶乘和的代码示例:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
def sum_of_factorial(n):
if n == 0:
return 1
else:
return factorial(n) + sum_of_factorial(n-1)
print(sum_of_factorial(5)) # 输出结果为 153
```
在上面的代码中,`factorial` 函数用于计算阶乘,`sum_of_factorial` 函数则是通过递归调用 `factorial` 函数来计算阶乘和。当 `n` 为 0 时,阶乘和即为 1;否则,阶乘和等于当前阶乘与前面所有阶乘的和。最后,我们调用 `sum_of_factorial` 函数并将参数设为 5,输出结果为 153。
用c++语言用递归函数计算n的阶乘
好的,可以使用下面的递归函数来计算n的阶乘:
```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;
}
```
当输入一个整数n后,该程序会通过递归调用函数factorial来计算n的阶乘。如果n为0,则返回1,否则返回n乘以函数factorial(n-1)的结果。