python递归求阶乘
时间: 2023-10-13 08:27:56 浏览: 50
以下是Python递归求阶乘的示例代码:
```python
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
# 测试
print(factorial(5)) # 输出120
```
在上述代码中,函数 `factorial(n)` 判断输入的 `n` 是否为0或1,若是则返回1,否则返回 `n` 与 `factorial(n-1)` 的乘积,即 `n! = n * (n-1)!`。在递归计算 `factorial(n-1)` 时,逐层递归到 `n=1` 或 `n=0` 时,开始逐层返回结果,最终得到 `n!` 的值。
相关问题
python递归求阶乘和
下面是使用递归方式求阶乘和的 Python 代码:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
def factorial_sum(n):
if n == 0:
return 1
else:
return factorial(n) + factorial_sum(n-1)
n = 5
print(factorial_sum(n)) # 输出 153
```
在这个例子中,我们首先定义了一个递归函数 `factorial`,它用于计算阶乘。然后我们定义了另一个递归函数 `factorial_sum`,它使用 `factorial` 函数来计算阶乘和。最后,我们调用 `factorial_sum` 函数,并将 `n` 设置为 5,输出结果为 153。
Python利用递归求阶乘
Python利用递归求阶乘的方法如下:
```python
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
```
这个函数接受一个整数参数n,如果n等于0或1,则返回1。否则,它会调用自身来计算n的阶乘,即n乘以(n-1)的阶乘。