Fibonacci數列(用此數列可以解決兔子生娃的問題)

1202年,義大利數學家斐波那契出版了他的「算盤全書」。他在書中提出了一個關於兔子繁殖的問題: 如果一對兔子每月能生一對小兔(一雄一雌),而每對小兔在牠出生後的第三個月裡,又能開始生一對小兔,假定在不發生死亡的情況下,由一對出生的小兔開始,50個月後會有
多少對兔子?

 

有個題是說10個月後有多少隻兔子?

在第一個月時,只有一對小兔子,過了一個月,那對兔子成熟了,在第三個月時便生下一對小兔子,這時有兩對兔子。再過多一個月,成熟的兔子再生一對小兔子,而另一對小兔子長大,有三對小兔子。如此推算下去,我們便發現一個規律:

 

時間(月)
初生兔子(對)
成熟兔子(對)
兔子總數(對)
1
1
0
1
2
0
1
1
3
1
1
2
4
1
2
3
5
2
3
5
6
3
5
8
7
5
8
13
8
8
13
21
9
13
21
34
10
21
34
55

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

由此可知,從第一個月開始以後每個月的兔子總數是:
1,1,2,3,5,8,13,21,34,55,89,144,233…

若把上述數列繼續寫下去,得到的數列便稱為斐波那契數列。
數列中每個數便是前兩個數之和,而數列的最初兩個數都是1。
若設 F0=1, F1=1, F2=2, F3=3, F4=5, F5=8, F6=13...
則:當n>1時,Fn+2 = Fn+1 + Fn,而 F0=F1=1
下面是一個古怪的式子:

 

Fn 看似是無理數,但當 n ≧0 時,Fn 都是整數  

利用斐波那契數列來做出一個新的數列:
方法是把數列中相鄰的數字相除,以組成新的數列如下:

 

當 n 無限大時,數列的極限是:

      

這個數值稱為黃金分割比,它正好是方程式 x2+x-1=0 的一個根。

 

 

 

 

 

以上的都是參考的,下面來一段關於這個Fibonacci的Java代碼:

public class Fibonacci
{
     public static void main(String args[])
     {
      int i;
      int f[]=new int[10];
      f[0]=f[1]=1;
      for(i=2;i<10;i++)
       f[i]=f[i-1]+f[i-2];
      for(i=1;i<=10;i++)
       System.out.println("F["+i+"]="+f[i-1]);
     }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章