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...