📅  最后修改于: 2023-12-03 15:37:45.389000             🧑  作者: Mango
斐波那契数列是一个非常著名的数列,它的规律是从第3项开始,每一项都是前两项的和,即:1、1、2、3、5、8、13、21、34、55、89、144...
编写一个函数,可以在斐波那契数列中找到N个项,并返回一个列表。
由于斐波那契数列的规律非常简单,我们可以使用循环生成这个数列。具体的算法如下:
def fibonacci(n):
if n <= 0:
return []
elif n == 1:
return [1]
elif n == 2:
return [1, 1]
else:
fibs = [1, 1]
for i in range(2, n):
fibs.append(fibs[-1] + fibs[-2])
return fibs
我们从2开始循环,因为前两项是1,1。
循环的次数是需要找到的项数N-2次,因为前两项已经在列表中了。
每次循环时,将前两项的和添加到列表中,并更新前两项的值。
调用上述函数即可,例如:
result = fibonacci(10)
print(result)
输出结果为
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
使用循环的方法可以很方便地生成斐波那契数列,这个方法的时间复杂度是O(N),非常高效。