Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4023
  • 博文数量: 3
  • 博客积分: 65
  • 博客等级: 民兵
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-08 20:47
文章分类
文章存档

2013年(1)

2012年(2)

我的朋友
最近访客

分类: C/C++

2013-03-20 21:23:53

 今天在论坛上偶然看到一个关于兔子的斐波那契数列,发现以前一直都没都这个问题进行深入思考过。
 兔子三个月长成大兔子,大兔子每个月都能生一对小兔子。
这个问题的数学公式我们都知道是:F(N)=F(N-1)+F(N-2)。
但这个公式所反映的直观意义是什么呢? 公式最优美的地方在于其用最简洁的方式表达出了问题,这就是艺术。
 这个公式所表达的是:第N个月新生的兔子是F(N-2),即第N-2个月存在的兔子在第N个月都会生出新兔子,而第N个月的新兔子只能由第N-2个月存在的兔子所产生。所以第N个月的兔子为第N-1个月存在的兔子F(N-1)加上第N个月产生的新兔子F(N-2)。
即F(N)=F(N-1)+F(N-2);

这个公司也可以这么理解:第N个月的兔子由大兔子和小兔子组成。而第N个月的小兔子=F(N-1)-F(N-2)+F(N-2),即等于第N-1个月的新兔子和第N个月的新兔子数目之和。第N-2个月中的兔子到了第N个月都会变成大兔子,而第N个月的大兔子只能由第N-2个月中存在的兔子构成即F(N-2),也可以推出F(N)=F(N-1)-F(N-2)+F(N-2)+F(N-2)=F(N-1)+F(N-2).

原问题中如果把三个月换成m个月,其数学公式为F(N)=F(N-1)+F(N-m+1)。
阅读(155) | 评论(0) | 转发(0) |
0

上一篇:linux 内核编译 、安装 CRUX-2.6.30.5

下一篇:没有了

给主人留下些什么吧!~~