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]);
}
}