博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
斐波拉契数列的由来
阅读量:5050 次
发布时间:2019-06-12

本文共 1367 字,大约阅读时间需要 4 分钟。

从前,有一个穷光棍,平时只知好吃懒做,不肯踏踏实实做事情,还经常想入非非做发财梦。一天,他在路边捡到一个鸡蛋,他非常高兴,捧着鸡蛋就在脑子里就盘算开了:“我借别人的母鸡把这个蛋孵成小鸡,等小鸡长大了,就可以生蛋,我再把生的蛋孵成鸡,这些鸡又可以生更多的蛋,蛋又可变成更多的鸡……过不了几年,我就可以把蛋和鸡去换许多钱,然后可以盖新房,还可以娶个漂亮媳妇,生儿育女……”他越想越高兴,不禁得意忘形手舞足蹈,忽听“啪”的一声,鸡蛋掉在地上,碎了!懒汉看着摔碎了的鸡蛋,放声痛哭:“哎呀,我的宝贝!我的房子呀!……”

  上面这则笑话流传已久,对我们很有教育意义,然而恐怕谁都没有认真计算过:如果鸡蛋没有打碎,几年后这个懒汉究竟有多少只鸡,多少个蛋呢?不过,公元1202年,一位意大利比萨的商人斐波拉契(Fibonacci,约1170-1250?)在他的《算盘全书》(这里的“算盘”指的是计算用沙盘)中提出过一个“养兔问题”,却被无数人算过。这道题说的是:

  某人买回一对小兔,一个月后小兔长成大兔。再过一个月,大兔生了一对小兔,以后,每对大兔每月都生一对小兔,小兔一个月后长成大兔。如此下去,问一年后此人共有多少对兔子?

  你能算清吗?不少同学恐怕看完题就已经动手算了,而且很快就算出了答案。不过对不对可不敢保证。说实在的,这题要算对并不那么容易,这可要不慌不忙细心地算才行。

  通常可以列一个表来算这个题:

  填了几行后,你就可以总结出几条结论:

  (1)每个月的大兔子数就是上个月的兔子总数。(因上个月的小兔这个月都长成大兔)

  (2)每个月的小兔子数就是上个月的大兔数。(因上月大兔子这个月都需生一对小兔,而上个月的小兔这个月长成大兔但不生兔子。)由(1)可知:每月小兔数就是前月的兔子总数。

  (3)每月兔子总数是当月大、小兔子数的和。由(1)、(2)知每月兔子数就等于上月与前月这两个月兔子数的和。

  若记第n个月的兔子数为fn,就有

  f0+f1=f2,f1+f2=f3,f2+f3=f4……

  一般的,有fn-2+fn-1=fn。有了这个规律,填这个表就很容易了。

  你看,养一对兔子,一年之后就会发展壮大成了一个养兔场了。

  按这个规律,可以把兔子数一直写下去:

  1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,……。

  这样得出的一列数就称为“斐波拉契数列。”

  波兰数学家史坦因豪斯在其名著《数学万花筒》中提出一个问题:

  一棵树一年后长出一条新枝,新枝隔一年后成为老枝,老枝又可每年长出一条新枝,如此下去,十年后新枝将有多少?

  这恰好也可以得到“斐波那契数”。

  人们从“斐”数出发得到了很多有益的和有趣的结果。比如“斐”数与黄金分割(0.618)的关系,直到现在还在优选法和运输调度理论中起着基本原理的作用;又如种向日葵的农场主在葵花籽的分布规律上发现了“斐”数,乃至好多植物的花瓣叶序上发现的“斐”数奇观形成了至今未解的“叶序之迷”。可见一个“养兔问题”竟揭示了大自然的一个普遍存在的奥秘。

转载于:https://www.cnblogs.com/a1280055207/archive/2012/11/13/2768085.html

你可能感兴趣的文章
https 学习笔记三
查看>>
Oracle学习之简单查询
查看>>
log4j配置
查看>>
linux 配置SAN存储-IPSAN
查看>>
双链表
查看>>
java学习笔记之String类
查看>>
pymysql操作mysql
查看>>
Linux服务器删除乱码文件/文件夹的方法
查看>>
牛腩记账本core版本源码
查看>>
Word Break II
查看>>
UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
查看>>
BZOJ4669抢夺(费用流+二分答案)
查看>>
bzoj1606
查看>>
jdk从1.8降到jdk1.7失败
查看>>
一些关于IO流的问题
查看>>
mongo备份操作
查看>>
8 -- 深入使用Spring -- 3...1 Resource实现类InputStreamResource、ByteArrayResource
查看>>
硬件笔记之Thinkpad T470P更换2K屏幕
查看>>
一个关于vue+mysql+express的全栈项目(六)------ 聊天模型的设计
查看>>
【知识库】-数据库_MySQL 的七种 join
查看>>