python递归求阶乘
时间: 2023-10-13 22:27:56 浏览: 97
以下是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中,可以使用递归方式来求阶乘。下面是一个递归函数,可以用来计算任意给定的正整数的阶乘:
```
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:
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。
阅读全文