python生兔子问题(递归算法)_兔子问题python解决方法
生活随笔
收集整理的這篇文章主要介紹了
python生兔子问题(递归算法)_兔子问题python解决方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
兔子問題
Python
解決方法
題目
:
有一對兔子,
從出生后第
3
個月起每個月都生一對兔子,
小兔子長到第三月后每個月
又生一對兔子,假如兔子都不死,問每個月兔子總數為多少
?
這就是典型的斐波那契數列(
Fibonacci
sequence
)問題,又稱黃金分割數列、因數學
家列昂納多·斐波那契(
Leonardo
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)
許多人對上述問題可能理解上有困難,下面我們從頭探討一下:
我們用
y1
表示一月齡的兔子數
,
y2
表示
2
月齡的兔子數,
c
表示三月齡以后能生育的
成年兔子數。
這樣就可以以月份循環,
每到達新的一個月,
y2
都會成熟,
所以
c=c+y2
,
y2
其實就是上個月那些
1
月齡的兔子
y1
,即
y2=y1
。
y1
就是這個月成年兔子數,即
y1=c
。這
樣現在這個月的兔子總數就是
y1+y2+c
。
詳情見下表:
總結
以上是生活随笔為你收集整理的python生兔子问题(递归算法)_兔子问题python解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql connect by用法_o
- 下一篇: xss labs 挑战之旅