利用斐波那契數列解決兔子數的演算法 java

2021-07-10 09:25:04 字數 1105 閱讀 6569

今天看到一道演算法題,算了半天沒算出來,後來查了資料,原來這是一道關於斐波那契數列題目,題目是:

我開始的思路是先把每個月的兔子數列出來

f1 =1;

f2 =1;

f3 = f2+1=2;

f4 = f3+1=3;

f5 = f4+1+1=5;

f6 = f5+1+1+1=8;

f7 = f6+1+1+1+1+1=13

…… (一直迴圈下去)

這樣的話規律就來了

1.f3 = f1+f2;

2.f4=f2+f3;

3.f5 =f3+f4;

……從第三項起,每一項都等於前兩項的和;

實現兩數相加,然後就是前兩個數進行互換,然後我寫了那麼一段**

public class suanfa1

} }

執行結果如下:

第3個月的兔子數為:2對

第4個月的兔子數為:3對

第5個月的兔子數為:5對

第6個月的兔子數為:8對

第7個月的兔子數為:13對

第8個月的兔子數為:21對

第9個月的兔子數為:34對

第10個月的兔子數為:55對

第11個月的兔子數為:89對

第12個月的兔子數為:144對

之後我舍友看了**之後說**可以更加簡化,然後他用了如下這個演算法把迴圈體內的表示式化成了只剩兩條,他的演算法是這樣的:

public

class suanfa1

}}

執行結果如下:

第1個月的兔子數為:1對

第2個月的兔子數為:1對

第3個月的兔子數為:2對

第4個月的兔子數為:3對

第5個月的兔子數為:5對

第6個月的兔子數為:8對

第7個月的兔子數為:13對

第8個月的兔子數為:21對

第9個月的兔子數為:34對

第10個月的兔子數為:55對

第11個月的兔子數為:89對

第12個月的兔子數為:144對

有趣的兔子(斐波那契數列)

如果每對兔子每月繁殖一對子兔,而子兔在出生後第二個月就有生殖能力,試問一對兔子一年能繁殖多少對兔子?可以這樣思考 第乙個月後即第二個月時,1對兔子變成了兩對兔子,其中一對是它本身,另一對是它生下的幼兔 第三個月時兩對兔子變成了三對,其中一對是最初的一對,另一對是它剛生下來的幼兔,第三對是幼兔長成的大...

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

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