python遞歸方式和普通方式實現輸出和查詢斐波那契數列


●斐波那契數列
斐波那契數列(Fibonacci sequence),是從1,1開始,后面每一項等於前面兩項之和。
如果為了方便可以用遞歸實現,要是為了性能更好就用循環。

◆遞歸方式實現生成前30個斐波那契數

list = []
for i in range(30):
    if i == 0 or i == 1:
        list.append(1)
        # print(f"第{i+1}個斐波那契數是:{list[i]}")
    else:
        list.append(list[i-2]+list[i-1])
        # print(f"第{i+1}個斐波那契數是:{list[i]}")
print(list,end=",")
 
        
 
◆普通方式實現生成前1000以內的斐波那契數

a = 0
b = 1
while b < 1000:
    print(b, end=" , ")
    a,b = b, a+b
 
        

◆遞歸方式實現用戶輸入查詢第n個斐波那契數--此種方式當查詢的數據比較大時會反應比較慢

 
        
def fibona(n):
    return 1 if n <= 2 else fibona((n-1))+fibona(n-2)
n = int(input("請輸入你要查的第幾個斐波那契數:"))
print(f"你要查詢的第{n}個斐波那契數是:{fibona(n)}")
 
        

◆普通方式實現用戶輸入查詢第n個斐波那契數--此種方式性能比較好!

 
        
step = int(input("請輸入你要查的第幾個斐波那契數:"))
x,y = 1,1
for i in range(step-1):
    x,y = y,x+y
print(f"你要查詢的第{step}個斐波那契數是:{x}")
 
        

 

 

 

 


免責聲明!

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



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