用递归实现阶乘
时间: 2023-06-29 15:05:02 浏览: 162
递归实现阶乘的思路是:n! = n * (n-1)!
即将n的阶乘转化为n-1的阶乘乘以n,而n-1的阶乘又可以转化为n-2的阶乘乘以n-1,直到n=1时,阶乘的值为1。
以下是递归实现阶乘的代码示例:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
```
在该函数中,当n等于1时,返回1;否则返回n乘以n-1的阶乘。递归调用函数自身,直到n等于1时停止递归。
相关问题
C语言用递归实现阶乘
以下是使用递归实现阶乘的 C 语言代码:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n, result;
printf("请输入一个正整数:");
scanf("%d", &n);
result = factorial(n);
printf("%d的阶乘是:%d\n", n, result);
return 0;
}
```
在上面的代码中,factorial() 是递归函数。当参数 n 等于 1 时,函数返回 1。否则,函数调用自身并返回 n * factorial(n - 1)。在 main() 函数中,用户输入一个正整数 n,然后调用 factorial() 函数计算 n 的阶乘并输出结果。
python递归实现阶乘
以下是使用递归实现阶乘的Python代码示例:
```python
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
num = int(input('请输入一个数字:'))
print(factorial(num))
```
这段代码定义了一个名为`factorial`的函数,该函数使用递归方式计算阶乘。当输入的数字为0或1时,函数直接返回1;否则,函数将调用自身来计算`n`的阶乘。最后,我们通过调用`factorial`函数并传入用户输入的数字来打印输出结果。