1.定义一个求阶乘的函数并去调用。n! = n * (n – 1) * (n-2)*…*2*1,当n = 1时,n! = 1。输出5!和8!。用递归和非递归的方式实现。
时间: 2024-11-18 17:16:07 浏览: 47
Python之调用函数共3页.pdf.zip
在Python中,我们可以分别使用递归和循环两种方式来编写求阶乘的函数:
**递归方式:**
```python
def factorial_recursive(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial_recursive(n - 1)
# 输出5! 和 8!
print(factorial_recursive(5)) # 120
print(factorial_recursive(8)) # 40320
```
**非递归方式(循环):**
```python
def factorial_iterative(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
# 输出5! 和 8!
print(factorial_iterative(5)) # 120
print(factorial_iterative(8)) # 40320
```
递归方法通过自身调用自身解决问题,直观简洁,但对于大数可能会导致栈溢出。而迭代法则是通过循环一步步计算结果,更适合处理大数阶乘。
阅读全文