今天看到一道演算法題,算了半天沒算出來,後來查了資料,原來這是一道關於斐波那契數列題目,題目是:
我開始的思路是先把每個月的兔子數列出來
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...