Fibonacci數列 兔子問題

2021-09-18 05:14:46 字數 1077 閱讀 4691

「」"

name : fibonacci數列.py

author: w

date: 4/8/19

connect: [email protected]

desc:

列昂納多·斐波那契(leonardoda fibonacci)以兔子繁殖為例子而引入,故又稱為「兔子數列」,

指的是這樣乙個數列:1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以如下被以遞推的方法定義:

f(1)=1,f(2)=1, f(n)=f(n-1)+f(n-2)(n>=3,n∈n*)

這個數列從第3項開始,每一項都等於前兩項之和。

對於兔子問題的鼎鼎大名,相信很少有人沒聽過吧!為了完整性還是再說一下題目吧!

題目描述:已知一對兔子每乙個月可以生一對小兔子,而一對兔子出生後.第三個月開始生小兔子假如一年內沒有發生死亡,

則一對兔子開始,第n個月後會有多少對?

這道題所描述的就是斐波那契數列啦!這裡以一對為單位,那麼,從第乙個月開始,每個月總共的兔子數量就是1,1,2,3,5,8,13…

可以看出前兩個月為1,從第三個月開始,當月的數量為前兩個月數量之和,所以可以形成公式f(n)=f(n-1)+f(n-2)(n>2)同時f(1)=1,f(2)=1。

##列印50之內的斐波那契數列

a, b = 0, 1

while b < 50:

print(b)

a, b = b, a + b11

2358

1321

34num = int(input("輸入月份數:"))

a = 1

b = 1

res = 0

if num == 1 or num == 2:

print("兔子總對數:", 1)

else:

for i in range(num - 2):

res = a + b

a = b

b = res

print("兔子總對數:%s" %res)

##輸入月份數:5

##兔子總對數:5

Fibonacci 兔子問題

斐波那契數列 原理及推導過程 兔子問題 第乙個月 1對小兔子 第二個月 1對小兔子 第三個月 1對大兔子1對小兔子 第四個月 1對大兔子 1對小兔子 本月生 1對小兔子 第五個月 2對大兔子 2對小兔子 本月生 1對小兔子 第六個月 3對大兔子 3對小兔子 本月生 2對小兔子 所以最後推出結果就是 ...

Fibonacci數列及相關問題

給定正整數n,求解fibonacci數列第n項的值 給定正整數n,代表台階,一次可以跨2個或者1個台階,有多少走法 假設成熟的母牛只會生1頭小母牛,並且永遠不會死,第一年農場有1只成熟的母牛,從第二年開始,母牛開始生小母牛.每只小母牛3年之後成熟.給定正整數n,求出n年後牛的數量.遞迴的解法是最基礎...

Fibonacci數列與跳台階問題

乙個台階總共有n級,一次可以跳一格,也可以跳兩格,問總共有多少種跳法。以f n 表示n級台階的跳法總數。n 1時,只有一種跳法,一次跳一格。n 2時,有兩種跳法。跳法1 跳兩步每次一格 跳法2 跳一步兩格。當n較大時,從最後一步到達第n格只有兩種方法。跳法1 最後一步跳一格,所以需要知道f n 1 ...