Fibonacci数列

原创 2007年09月20日 22:29:00

中学的数学规律题目中常常见到这样的一组数:1,1,2,3,5,8,13,21,34,55,89,144,233...。这组数在数学上,常被人们称作Fibonacci数列。

1202年,意大利数学家斐波那契出版了他的《算盘全书》。他在书中提出了一个关于兔子繁殖的问题:如果一对兔子每月能生一对小兔(一雄一雌),而每对小兔在它出生后的第三个月里,又能开始生一对小兔,假定在不发生死亡的情况下,由一对出生的小兔开始,50个月后会有多少对兔子?

在第一个月时,只有一对小兔子,过了一个月,那对兔子成熟了,在第三个月时便生下一对小兔子,这时有两对兔子。再过多一个月,成熟的兔子再生一对小兔子,而另一对小兔子长大,有三对小兔子。如此推算下去,我们便发现一个规律:

时间(月)

初生兔子(对)

成熟兔子(对)

兔子总数(对)

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的一个根。

C++程序:

//Program to generate the first 15 Fibonacci numbers
#include<stdio.h>
int main (void)
{
    int Fibonacci[15],i;
    Fibonacci[0]=1;
    Fibonacci[1]=1;
    for(i=2;i<15;++i)
       Fibonacci[i]=Fibonacci[i-2]+Fibonacci[i-1];
    for(i=0;i<15;++i)
        printf("%i/n",Fibonacci[i]);
    return 0;
}

Fibonacci数列在很多领域都有体现,不仅是兔子的繁殖上,在一般经济的发展上,在股票等资本市场的预测上也很有用。

后记:对Fibonacci数列产生兴趣是从《越狱》开始的,片中有个人物叫Fibonacci,一开始觉得很好听,一定是个意大利人的名字,后来才知道是个数学家的名字。这会儿刚刚看了《达芬奇密码》,里面也说到Fibonacci数列,这就把这篇文章收录到自己的博客中来,因为数学也是我最近研究的课题。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

fibonacci数列的matlab实现

  • 2013-09-25 10:39
  • 218B
  • 下载

又见fibonacci数列(斐波纳契)

高中学数列时接触到fibonacci数列,大学初学C语言时也printf()过,本以为这个数列也不过如此,用来做C语言考试题目尚可,但昨天一时闲来无事浏览 Matrix67的博客(http://www...

Fibonacci 数列及其计算方法

Fibonacci 数列及其计算方法斐波那契数列(Fibonacci sequence),又称黄金分割数列,这个数列最早是由印度数学家提出来的。不过更多的人学习到这个数列是因为意大利数学家列昂纳多·斐...

Fibonacci数列

  • 2015-05-02 04:42
  • 397B
  • 下载

Fibonacci数列

  • 2012-04-05 18:48
  • 287B
  • 下载

求Fibonacci数列的第n项

题目:       定义Fibonacci数列如下: 方法一:      递归的方法,代码如下: #include using namespace std; int Fibona(...

fibonacci数列

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)