fibonacci数列算法心得
时间: 2023-07-10 14:23:02 浏览: 114
面试和算法心得
Fibonacci 数列是一个非常经典的数学问题,它的每个数都是前两个数之和。从 0 和 1 开始的斐波那契数列为:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, ...。
实现 Fibonacci 数列可以使用递归或循环。递归算法会在计算每个数时重复计算许多相同的数字,导致效率低下。而循环算法只需要计算一次每个数字,效率更高。
以下是一个使用循环算法计算 Fibonacci 数列的示例代码:
```python
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
a, b = 0, 1
for i in range(2, n+1):
c = a + b
a, b = b, c
return c
```
在这个算法中,我们用变量 a 和 b 记录前两个数字,然后在循环中计算每个数字,并将其存储在变量 c 中。最后返回最后一个数字 c。
需要注意的是,由于斐波那契数列的增长速度非常快,所以计算较大的数字时可能会导致整数溢出。因此,在实际应用中需要注意这一点。
阅读全文