如何使用Python輸出一個[斐波那契數列]


如何使用Python輸出一個[斐波那契數列]Fibonacci

斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”。

例子:1、1、2、3、5、8、13、21、34、……

解法1:

100以內的斐波那契數列

x=1
y=1
print(x,end=" ")
print(y,end=" ")
while(True):
    z=x+y
    x=y
    y=z
    if(z>100):   #當z>100的時候,終止循環
        break

    print(z,end=" ")

解法2:

#遞歸
def fibo(n):
	
    if n <= 1:
        return n
    else:
        return (fibo(n - 1) + fibo(n - 2))
 
m = int(input("打印前多少項?"))
if m <= 0:
    print("請輸入正整數!")
else:
    print("fibo:")
    for i in range(1,m):
        print(fibo(i))


解法3:

迭代,用遞歸當數據大的時候,會出現效率問題

def fibo(max):
    n, a, b = 0, 0, 1
    while n < max:
        yield b
        a, b = b, a + b
        n = n + 1  # 退出標識
for n in fibo(5):
    print (n)


免責聲明!

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



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