有一對兔子,從出生後第3個月起,每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子。
假如兔子都不死,求第n個月兔子對數
關於斐波那契數列的兔子繁殖問題其實如下:
實際月份 123
4567
8幼仔對數 101
1235
8成兔對數 011
2358
13總體對數 112
35813
21幼仔對數=前月成兔對數
成兔對數=前月成兔對數+大前月幼仔對數
總體對數=本月成兔對數+本月幼仔對
package 遞迴;
public
class 斐波那契數列
/** * @param n
* @return
* 用陣列fib儲存計算過的fib(n)值 每乙個值對應的fib(n)只被計算一次
* 時間複雜度:o(n)
* 空間複雜度:o(n)
*/intfib1
(int n)
/** * @param n
* @param nums
* @return
* 空間複雜度:o(n)
* 時間複雜度:o(n)
*/intfib1
(int n,
int[
]nums)
return nums[n];}
intfib2
(int n)
return fib[n];}
//0// 1 1 3 3
//1// 1 2 2 5
/** * @param n
* @return
* 每次運算只需用到陣列中的兩個元素 所以使用滾動陣列
* 時間複雜度:o(n)
* 空間複雜度:o(1)
* */
intfib3
(int n)
return fib[n&1]
;}//兩變數
intfib4
(int n)
return first;
}//三變數
intfib5
(int n)
return third;
}public
static
void
main
(string[
] args)
}
遞迴演算法前置 斐波那契數列
斐波那契數列,又稱 分割數列,指的是這樣乙個數列 0 1 1 2 3 5 8 13 21 在數學上,斐波納契數列以如下被以遞迴的方法定義 f0 0,f1 1,fn f n 1 f n 2 n 2,n n 在現代物理 準晶體結構 化學等領域,斐波納契數列都有直接的應用。學習遞迴演算法的時候一般都會了解...
python遞迴演算法 斐波那契數列
遞迴方法為 將問題一步步分解,直到得到可以解決的簡單問題。通常涉及直接或間接條用自身 例如計算列表 1,3,5,7,9,13 中各元素的和。else if n 1 a 0,1 for i in range n 2 執行n 2次迴圈,即向陣列a中新增n 2個斐波那契數字return a輸入 fibs1...
遞迴演算法 階乘 斐波那契數列
五 應用示例 斐波那契數列 注意在最近的學習中,我自己感覺我一開始最不理解的就是乙個方法裡面還可以呼叫這個方法自己,感覺太不可思議了,今天我們就分享一下這種演算法 遞迴演算法 遞迴是電腦科學的乙個重要概念。遞迴演算法就是把問題轉化為規模縮小了的同類問題的子問題,然後遞迴呼叫函式來表示問題的解。乙個函...