遞迴 斐波那契 兔子

2022-04-21 15:20:12 字數 1284 閱讀 3269

斐波那契數列的排列是:0,1,1,2,3,5,8,13,21,34,55,89,144……依次類推下去。

觀察後發現,它後乙個數等於前面兩個數的和。在這個數列中的數字,就被稱為斐波那契數。

遞迴思想:乙個數等於前兩個數的和。

package

com.autumn;

/*** 斐波那契數列的排列

* 0,1,1,2,3,5,8,13,21,34,55,89,144

* 後乙個數等於前面兩個數的和 */

public

class

recursive

}/*** 斐波那契豎列返回的值

* @param

index 下標,從0開始

* @return

下標對應的值

*/public

static

int fib(int

index)

/*如果下標是1,返回1

*/if (index ==1)

//否則,返回前兩項的和

return fib(index-1)+fib(index-2);

}}

兔子問題:最初有1對兔子,三個月之後,每個月都會生產一對兔子(前提,兔子不會死),那麼第n個月之後一共有多少對兔子

package

com.autumn;

/*** 生兔子

* 有一對兔子,生長三個月後。開始生第一對兔子,並且以後每月生一對兔子,小兔子生長三個月後,也開始生兔子,問n個月後兔子的總數量

* 月份對應的兔子數: 1,1,2,3,5,8

* 可以看出兔子第三個月才能生一對,也就是說第三個月兔子數 = 第二個月現有兔子的總數 + 第乙個月能生的兔子數(即將出生數=能生數)

* 遞迴的方式:

* (1)規律:每個月兔子的總數是前兩個月兔子總數之和

* (2)出口:前兩個月都是一對 */

public

class

recursive

}/*** 當月兔子總數

* @param

index 月份,從1開始

* @return

兔子的值

*/public

static

int rabbit(int

index)

/*如果月份是2,返回1

*/if (index ==2)

//否則,返回前兩項的和

return rabbit(index-1)+ rabbit(index-2);

}}

斐波那契的兔子

有一對兔子,從出生後第3個月起,每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子。假如兔子都不死,求第n個月兔子對數 關於斐波那契數列的兔子繁殖問題可以如下理解 實際月份 1 2 3 4 5 6 7 8 幼仔對數 1 0 1 1 2 3 5 8 成兔對數 0 1 1 2 3 5 8 13 ...

遞迴 斐波那契

題 若一頭小母牛,從出生起第四個年頭開始每年生一頭母牛,按此規律,第n年有多少頭母牛?具體分析 1 分析題目 從出生起第四個年頭開始每年生一頭母牛 時間 年 未成熟母牛 頭 成熟母牛 頭 母牛總數 頭 1 1 0 1 2 1 0 1 3 1 0 1 4 0 1 1 5 1 1 2 6 2 1 3 7...

斐波那契遞迴

const fib1 n if n 0 else if n 1 else console.log fib1 5 函式呼叫順序 fib1 5 fib1 4 fib1 3 fib1 2 fib1 1 fib1 0 fib1 1 fib1 2 fib1 1 fib1 0 fib1 3 fib1 2 fib...