斐波那契数列idea实现
时间: 2023-10-30 19:09:19 浏览: 84
Java打印斐波那契前N项的实现示例
斐波那契数列是一个经典的数学问题,可以用递归或迭代的方式实现。
1. 递归实现:
递归是指一个函数调用自身的过程。斐波那契数列可以通过递归方式实现如下:
```python
def fibonacci(n):
if n <= 0:
return "Input should be a positive integer."
elif n == 1 or n == 2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
# 测试
n = 10
for i in range(1, n+1):
print(fibonacci(i))
```
2. 迭代实现:
迭代是通过循环来实现的,效率比递归高。斐波那契数列可以通过迭代方式实现如下:
```python
def fibonacci(n):
if n <= 0:
return "Input should be a positive integer."
fib = [0, 1]
for i in range(2, n+1):
fib.append(fib[i-1] + fib[i-2])
return fib[n]
# 测试
n = 10
for i in range(1, n+1):
print(fibonacci(i))
```
以上两种方式都可以实现斐波那契数列,但递归方式在计算较大的斐波那契数时会更加耗时,因为会重复计算相同的子问题。迭代方式则避免了这个问题,因此更加高效。
阅读全文