PHP 演算法之斐波那契數列演算法 計算出生兔子的數量

2021-10-05 03:13:53 字數 740 閱讀 2556

題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

分析:一對兔子也就是兩隻,有類似的要計算兔子的對數,邏輯一樣,第三個月都生一對兔子,那麼我們按第三個月開始增量而不是第三個月後開始增量。

月數1個月

2個月3個月

4個月5個月

6個月.......數量2

24610

16增量

2+02+0

2+24+2

6+410+6

**:

/**

* @param $month 月

* @param $t 數量

* @return int|mixed

*/function rabbit_algorithm($month, $t)

$baby = $baby + $z1;

$growth++;

}return $t + $baby;

}$month = 10; //求幾個月

for ($i = 1; $i <= $month; $i++)

執行結果:

測試的話月份不要寫太大,遞迴呼叫很卡。

按這麼計算我買兩隻兔子養個兩年都能發財了,兔子一般都能活兩年吧。

演算法之斐波那契數列

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 斐波那契當時是為了描述如下情況的兔子生長數目 第乙個月初,有一對剛誕生的兔子 第二個月之後 第三個月初 它們可以生育 ...

PHP演算法之斐波那契數列 遞迴

斐波那契數列 源 分析 f x 1 當 x 2 f x f x 1 f x 2 當 x 2 通項式為 fn 根號5 則根據通項式建構函式求fn 計時函式 console.time 計時開始 console.timeend 計時結束並輸出時長 console.time vari vartotal 方法...

Python演算法 斐波那契數列

典型的遞迴演算法 快速排序會用到 先做個鋪墊 斐波那契數列即著名的兔子數列 1 1 2 3 5 8 13 21 34 數列特點 該數列從第三項開始,每個數的值為其前兩個數之和,用python實現起來很簡單 定義fibonacci數列如下 非遞迴方法的函式實現 def fibs num result ...