数学之美——斐波那契数(1)
来源:互联网 发布:2017ipad视频软件 编辑:程序博客网 时间:2024/04/26 19:24
斐波那契数的来源:伦纳德·斐波那契著的Liber Abaci包含这这样一个习题:“在一年的时间里,一对兔子可以繁衍出多少对兔子?”为解决这个问题,我们被告知:假定每对兔子每个月生育一对兔子,新的一对兔子在一个月之后具有生育能力;其次,这些兔子都不死去。一个月后,将有两对兔子;两个月后,将有三对,下一个月原来的一对以及在头一个月生下的一对都将生出一对来,一次总共将有5对;等等。
因此引出斐波那契数;0,1,1,2,3,5,8,13,21,34······
定义:以Fn来表示这个序列的数,并将其定义为F0=0;F1=1;Fn+2=Fn+1 +Fn,n≥0;
斐波那契数在一道ACM题目中的妙解:
题目如下:
有一列相当长的格子(格子数不超过10000),某些格子里面放了棋子(棋子总是不超过10的9次方)。如果格子里面有棋子,就可以拿走其中的一颗,同时在这个格子左边两个格子里面各放一颗。
如果连续两个格子里面都有棋子,就可以分别从两个格子中各拿走一颗,之后在它们右边的格子里面放入一颗。
现在的任务是,给定初始状态,要求使用以上操作,使得:
1,每个格子之多只有1颗棋子。
2,相邻的两个格子不能都有棋子。
不难发现,题目给出的两个操作是可逆的。那么我们可以为每个格子一个量化的权值,例如第i个格子的价值为Fi,那么Fi必须满足;Fi+1=Fi+Fi-1。这岂不是斐波那契数列?这样整个问题的初始状态和目标状态的总价值相同。利用这一点,再根据斐波那契数列的一个结论,任意自然数n的斐波那契分解是唯一的。就可以求出最后棋子的分布。想不到吧,斐波那契数列还可以这样用。神奇吧。
- 数学之美——斐波那契数(1)
- 数学之美——斐波那契数(2)
- 编程之美2.8 寻找条件数,斐波那契数
- 斐波那契数的数学封闭式表示
- 编程之美2.9——斐波那契数列
- 编程之美读书笔记2.9—斐波那契数列
- 编程之美之斐波那契数列
- 数学问题(1):杨辉三角、水仙花数、打印斐波那契数列
- 编程之美:数"1"的个数,培养数学功底.
- 数学之美1
- 斐波那契数列--编程之美(待完善)
- 编程之美_008斐波那契数列
- 编程之美2.9----斐波那契数列
- [编程之美] PSet2.9 斐波那契数列
- 编程之美2.9 斐波那契数列
- 编程之美 2.9 斐波那契(Fibonacci)数列
- 编程之美2.9斐波那契数列
- 编程之美2.9 斐波那契数列
- java接口
- Java Web应用开发中的一些概念
- vmware tools 配置
- 百度笔试题——找出程序中的错误(关于中文字符赋值给char时它是一个负数的问题),今天我是做错了!悲剧了!
- 使用OpenSER构建电话通信系统——第五章(3)
- 数学之美——斐波那契数(1)
- delphi存储过程(返回值)
- 创业“十不要”及原因
- ORACLE/MSSQL日期函数在报表项目中的应用【日报/周报/月报】
- 程序员面试题精选100题(47)-数组中出现次数超过一半的数字
- ASP.NET MVC 笔记
- HTML5本地存储不完全指南
- C# 学习笔记
- NCMsg_Test