Python 兩種方式實現斐波那契數列


斐波那契數列指的是這樣一個數列 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是先計算等號右邊,右邊計算完成再依次賦值給左邊。





 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM