裴波那契數列

2022-06-08 11:24:08 字數 1164 閱讀 7864

def fib(max_num):

n,a,b = 0,0,1

while n < max_num:

print(b) # 列印出來的就是裴波那契數列,從第三項開始,每一項都等於前兩項之和

a,b = b,a+b

n = n + 1

return 'done'

fib(7)

# 0,0,1 # 第一次沒迴圈時預設值n=0,a=0,b=1

# 1,1,1 # 第一次迴圈後n=1,a=1,b=1

# 2,1,2 # 第二次迴圈後n=2,a=1,b=2

# 3,2,3 # 第三次迴圈後n=3,a=2,b=3

# 4,3,5 # 第四次迴圈後n=4,a=3,b=5

# 5,5,8 # 第五次迴圈後n=5,a=5,b=8

# 6,8,13# 第六次迴圈後n=6,a=8,b=13 # 第七次迴圈不列印,只列印到13

# 利用迴圈求裴波那契數列的和
def fib(n):

n1 = 1

n2 = 1

n3 = 1

if n < 1:

print('輸入有誤!')

return -1

elif n == 1 or n == 2:

return 1

while n > 2:

n1 = n2

n2 = n3

n3 = n1 + n2

n = n - 1

return n3

res = fib(20)

if res != -1:

print('總共有%d只小兔崽子誕生!' % res)

# 利用遞迴求裴波那契數列的和

def fib(n):

if n < 1:

print('輸入有誤!')

return -1

elif n == 1 or n == 2:

return 1

else:

return fib(n - 1) + fib(n - 2)

res = fib(20)

if res != -1:

print('總共有%d只小兔崽子誕生!' % res)

裴波那契數列

裴波那契 fibonacci leonardo,約1170 1250 是義大利著名數學家 在他的著作 算盤書 中許多有趣的問題,最富成功的問題是著名的 兔子繁殖問題 如果每對兔子每月繁殖一對子兔,而子兔在出生後第二個月就有生殖能力,試問一對兔子一年能繁殖多少對兔子?可以這樣思考 第乙個月後即第二個月...

裴波那契數列(迴圈實現遞迴)

裴波那契 fibonacci 數列 f n 0,1 f n 1 f n 2 n 0n 1n 1 求裴波那契數列的第n項。題目來自劍指offer 1.遞迴解法,效率很低的解法,不用 一看到這個題,我們就很容易竊喜的想到這種解法 很多f i 進行了重複計算,隨著n的增大,計算量急劇增加,時間複雜度以n的...

裴波那契數列及其遞迴演算法

裴波那契數列起源於兔子數列,假設第乙個月有一對剛出生的兔子,第二個月兔子進入成熟期,我三個月開始生育小兔子,而一對成熟的兔子會在每月生育一對小兔子,兔子永遠不會死去。n月後會有多少只兔子 每月的兔子數為 1,1,2,3,5,8,13,21,34.該數列成為裴波那契數列。最簡單的遞迴為 f int n...