python代码【问题描述】 【输入形式】输入一个整数 【输出形式】输出这个整数的阶乘,最好用递归函数的方法来求解 【样例输入】 【样例输出】 【样例说明】 【评分标准】
时间: 2023-10-08 15:04:02 浏览: 16
python 实现递归求阶乘
5星 · 资源好评率100%
请看下面的 Python 代码,使用递归函数来计算输入整数的阶乘:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n - 1)
n = int(input())
print(factorial(n))
```
其中,递归函数 `factorial()` 的实现如下:
- 如果输入整数 `n` 等于 1,则返回 1;
- 否则,返回 `n` 乘以 `factorial(n - 1)` 的结果。
这个递归函数的思路是,将计算输入整数 `n` 的阶乘的问题,递归地转化为计算 `n - 1` 的阶乘,并将两者相乘。
例如,当 `n = 5` 时,`factorial(5)` 的计算过程如下:
```
factorial(5) = 5 * factorial(4)
= 5 * 4 * factorial(3)
= 5 * 4 * 3 * factorial(2)
= 5 * 4 * 3 * 2 * factorial(1)
= 5 * 4 * 3 * 2 * 1
= 120
```
因此,输入整数 `n` 的阶乘即为 `factorial(n)` 的返回值。
阅读全文