python 递归求阶乘
时间: 2024-05-15 10:11:51 浏览: 109
在Python中,可以使用递归方式来求阶乘。下面是一个递归函数,可以用来计算任意给定的正整数的阶乘:
```
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
```
该函数首先判断给定的正整数n是否为1,如果是,则返回1;否则,计算n乘以它自己减去1的阶乘(即n-1的阶乘),并返回该结果。递归的过程会一直持续到n等于1时停止。
如果要计算某个数的阶乘,只需将该数作为参数传递给上述函数即可。
例如,要计算5的阶乘,可以使用以下代码:
```
print(factorial(5)) # 输出120
```
相关问题
python递归求阶乘
以下是Python递归求阶乘的示例代码:
```python
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
# 测试
print(factorial(5)) # 输出 120
```
在递归函数中,首先判断 `n` 是否等于 0 或 1,若是则返回 1,作为递归的终止条件。否则,递归调用 `factorial(n-1)` 并将其结果乘以 `n`,得到 `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。
阅读全文