兔子問題(斐波那契數列)的迭代實現與遞迴實現

2021-10-24 14:11:30 字數 964 閱讀 9471

某個月兔子的數量=上個月兔子數+這個月出生的兔子數

這個月出生的兔子數=上上個月的兔子數(根據題意可知此時且這個月的兔子全是上上個個月的兔子生的,

因為上上個月的兔子是剛好到這個月所有兔子都成熟的,所以可以理解為這個月的新生兔子是上上個月的兔子數量)。

寫成遞推公式就是:f

(n)=

f(n-1)

+f(n-2).

其實就是乙個斐波那契數列

**的話

1:可以一開始定義乙個陣列,把每個月的兔子數都存進去,最後然後通過索引輸出n個值。

2:也可以每次輸入乙個月份後,用兩個變數(三個也行)從頭迭代到該月份,然後輸出值。

第一種方法的**:

#include

#define lastsubscript 40

intmain()

;for

(int temp =

3;temp <= lastsubscript;temp++

) a[temp]

= a[temp-2]

+ a[temp-1]

;while(~

scanf

("%d"

,&t))}

return0;

}第二種方法

#include

intmain()

if(n<3)

printf

("case #%d:\n%d\n"

,t1,1)

;else

if(step%2==

1)printf

("case #%d:\n%d\n"

,t1,a)

;else

//if (step%2==0)

printf

("case #%d:\n%d\n"

,t1,b);}

}return0;

}

兔子生兔子問題 斐波那契數列

題目 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子。假如兔子都不死,要求輸出一年內兔子的數量是多少。1 1 2 3 5 8 如下 兔子問題 斐波那契 public class homework05 static intfab int month stati...

java兔子問題(斐波那契數列)

題目 古典問題 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子 假如兔子都不死,問每個月的兔子總數為多少?斐波那契數列,沒乙個值都等於前兩個值之和 author gkf46762 public class rabbit public static int g...

斐波那契數列 兔子繁殖問題

古典問題 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第3個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?演算法分析 假設給兔子的對數編號 第乙個月 1 sum 1 第二個月 1 sum 1 第三個月 1生2,sum 2 第四個月 1生3,2,sum 3 第五個月...