分别使用递归法和迭代法编写程序,使之能输出斐波那契数列
时间: 2024-11-05 17:26:00 浏览: 11
Fibonacci数列的四种解法:递归、存储优化的递归、自下而上的递归(迭代法)、尾递归
5星 · 资源好评率100%
递归法是一种通过函数自身调用来解决问题的方法,在计算斐波那契数列时,可以这样定义:
```python
def fibonacci_recursive(n):
if n <= 0:
return "输入值错误"
elif n == 1 or n == 2:
return 1
else:
return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)
```
这个函数会不断调用自身,直到n为1或2,然后逐层返回结果。
对于迭代法,我们不需要反复调用函数,而是采用循环结构,逐项计算:
```python
def fibonacci_iterative(n):
if n <= 0:
return "输入值错误"
fib_sequence = [0, 1] if n == 1 else [0, 1] + [0] * (n - 1)
for i in range(2, n):
fib_sequence[i] = fib_sequence[i - 1] + fib_sequence[i - 2]
return fib_sequence[n - 1]
```
迭代法从基础开始,逐步累积计算出第n个斐波那契数。
阅读全文