斐波那契數列指的是這樣一個數列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368......
這個數列從第3項開始,每一項都等於前兩項之和。
遞歸的方式實現:
def fn(n):
if n==1:
return 1
elif n==2:
return 1
else:
return fn(n-1)+fn(n-2)
n=int(input())
for i in range(1,n+1):
print(fn(i))
循環的方式實現:
a=1
b=1
n=int(input())
if n<=2:
print(1)
else:
print(1,1,end=' ')
for i in range(1,n-1):
a,b=b,a+b
print(b,end=' ')
這里介紹下 a,b=b,a+b
a,b=b,a+b是先計算等號右邊,右邊計算完成再依次賦值給左邊。