首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

裴波那契据数字

2012-09-16 
裴波那契数字科普:“斐波那契数列”的发明者,是意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci,生于公元

裴波那契数字

科普:

“斐波那契数列”的发明者,是意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci,生于公元1170年,卒于1240年。籍贯大概是比萨)。他被人称作“比萨的列昂纳多”。1202年,他撰写了《珠算原理》(Liber Abaci)一书。他是第一个研究了印度和阿拉伯数学理论的欧洲人。他的父亲被比萨的一家商业团体聘任为外交领事,派驻地点相当于今日的阿尔及利亚地区,列昂纳多因此得以在一个阿拉伯老师的指导下研究数学。他还曾在埃及、叙利亚、希腊、西西里和普罗旺斯研究数学。

斐波那契数列:1,1,2,3,5,8,13,21……如果设F(n)为该数列的第n项(n∈N+)。那么这句话可以写成如下形式: F(1)=F(2)=1,F(n)=F(n-1)+F(n-2) (n≥3)显然这是一个线性递推数列。通项公式的推导方法一:利用特征方程线性递推数列的特征方程为: X^2=X+1解得 X1=(1+√5)/2, X2=(1-√5)/2.则F(n)=C1*X1^n + C2*X2^n∵F(1)=F(2)=1∴C1*X1 + C2*X2 C1*X1^2 + C2*X2^2解得C1=1/√5,C2=-1/√5∴F(n)=(1/√5)*{[(1+√5)/2]^n -[(1-√5)/2]^n}【√5表示根号5】


斐波那契数还可以在植物的叶、枝、茎等排列中发现。例如,在树木的枝干上选一片叶子,记其为数0,然后依序点数叶子(假定没有折损),直到到达与那息叶子正对的位置,则其间的叶子数多半是斐波那契数。叶子从一个位置到达下一个正对的位置称为一个循回。叶子在一个循回中旋转的圈数也是斐波那契数。在一个循回中叶子数与叶子旋转圈数的比称为叶序(源自希腊词,意即叶子的排列)比。多数的叶序比呈现为斐波那契数的比。

求裴波那契数字的JAVA代码如下:

//裴波那契数字public class  Test{public static void main(String[] args) {//用递归方法System.out.println("第40个裴波那契数字是:"+f(40));//非递归方法System.out.println("第40个裴波那契数字是:"+ff(40));}//用递归,获得需要的裴波那契数字 public static long f(int n){if(n<1){System.out.println("非法参数");return -1;}if(n==1 || n==2){return 1; //第一和第二个裴波那契数字都为1}else{return f(n-1)+f(n-2); //第三个开始,值为前两个 数字的和}}//非递归,获得裴波那契数字public static long ff(int n){if(n<1){System.out.println("非法参数");return -1;}if(n==1 || n==2){return 1; //第一和第二个裴波那契数字都为1}long f1=1L,f2=1L,f=0;//用循环累加for(int i=0;i<n-2;i++){f=f1+f2;f1=f2;f2=f;}return f;}}




热点排行