📅  最后修改于: 2023-12-03 15:27:37.540000             🧑  作者: Mango
斐波那契数列是一种经典的数学问题,定义为:在数列中,每个数字是前两个数字的和。例如,0、1、1、2、3、5、8、13、21、34、55、……
在 Python 中,我们可以通过循环或递归来生成斐波那契数列。
def fib(n):
a, b = 0, 1
result = []
while a < n:
result.append(a)
a, b = b, a+b
return result
print(fib(50))
输出:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
def fib(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fib(n-1) + fib(n-2)
result = []
for i in range(50):
if fib(i) > 50:
break
result.append(fib(i))
print(result)
输出:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
以上两种方法均可用来生成斐波那契数列,但前者更加高效,因为它只需要计算一次每个数的值,而后者会重复计算一些值。