斐波纳契数列以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)
这个数列从第2项开始,每一项都等于前两项之和,而且当n趋向于无穷大时,前一项与后一项的比值越来越逼近黄金分割0.618.
1.使用for循环实现
def fib(n):
a,b = 0,1
for i in range(n):
a,b =b,a+b
return a
f = fib(6)
print(f)
2.使用迭代
def fib(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fib(n-2)+fib(n-1)
f = fib(6)
print(f)
3.生成一个指定长度的数列
def fibs(x):
result = [0, 1]
for index in range(x-2):
result.append(result[-2]+result[-1])
return result
num = input('Enter one number: ')
n = int(num)
print(fibs(n))