題目:古典問題:有一對兔子,從出生後第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 ...