对《斐波那契数列》的延伸-_第1页
对《斐波那契数列》的延伸-_第2页
对《斐波那契数列》的延伸-_第3页
对《斐波那契数列》的延伸-_第4页
对《斐波那契数列》的延伸-_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

斐波那契数列以费波那西数为边的正方形拼成的长方形费波那西数列〔FibonacciSequence〕,又译费波拿契数、斐波那契数列、费氏数列、黄金分割数列。在数学上,费波那西数列是以递归的方法来定义:用文字来说,就是费波那西数列由0和1开始,之后的费波那西系数就由之前的两数相加。首几个费波那西系数是〔OEISA000045〕:0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,………………特别指出:0不是第一项,而是第零项。源起根据高德纳〔DonaldErvinKnuth〕的《计算机程序设计艺术》〔TheArtofComputerProgramming〕,1150年印度数学家Gopala和金月在研究箱子包装物件长阔刚好为1和2的可行方法数目时,首先描述这个数列。在西方,最先研究这个数列的人是比萨的列奥那多〔又名费波那西〕,他描述兔子生长的数目时用上了这数列。第一个月初有一对刚诞生的兔子第二个月之后(第三个月初)它们可以生育每月每对可生育的兔子会诞生下一对新兔子兔子永不死去假设在n月有新生及可生育的兔子总共a对,n+1月就总共有b对。在n+2月必定总共有a+b对:因为在n+2月的时候,前一月(n+1月)的b对兔子可以存留至第n+2月〔在当月属于新诞生的兔子尚不能生育〕。而新生育出的兔子对数等于所有在n月就已存在的a对。表达式为求得费波那西数列的一般表达式,可以借助线性代数的方法。高中的初等数学知识也能求出。初等代数解法首先构建等比数列设

化简得

比拟系数可得:

不妨设

解得:

所以有,即为等比数列。求出数列{}由以上可得:

变形得:。令求数列{}进而得到{}

设,解得。故数列为等比数列

即。而,故有

又有和

可得得出表达式[线性代数解法构建一个矩阵方程设Jn为第n个月有生育能力的兔子数量,An为这一月份的兔子数量。上式表达了两个月之间,兔子数目之间的关系。而要求的是,An+1的表达式。求矩阵的特征值:行列式:-*(1-)-1*1=2--1当行列式的值为0,解得=或=特征矢量将两个特征值代入求特征矢量得==分解首矢量第一个月的情况是兔子一对,新生0对。将它分解为用特征矢量表示。〔4〕用数学归纳法证明从=可得〔5〕化简矩阵方程将〔4〕代入〔5〕根据3求A的表达式现在在6的根底上,可以很快求出An+1的表达式,将两个特征值代入6中(7)(7)即为An+1的表达式近似值用计算机求解可通过编程观察斐波那契数列。分为两类问题,一种数列中的某一项,求序数。第二种是序数,求该项的值。可通过递归递推的算法解决此两个问题。事实上当n相当巨大的时候,O(n)的递推/递归非常慢……这时候要用到矩阵加速这一技巧。和黄金分割的关系开普勒发现两个斐波那契数的比会趋近黄金分割:斐波那契数亦可以用连分数来表示:而黄金分割数亦可以用无限连分数表示:和自然的关系许多的生物构成都和斐波那契数列有正相关。例如人体从肚脐至头顶之距离和从肚脐至脚底之距趋近于,向日葵的种子螺旋排列99%是。恒等式证明以下的恒等式有很多方法。以下会用组合论述来证明。可以表示成用多个1和多个2相加令其和等于<mat不失一般性,我们假设n≥1。是计算了将1和2加到n的方法的数目。假设第一个被加数是1,有种方法来完成对n-1的计算;假设第一个被加数是2,有F(n-1)来完成对n-2的计算。因此,共有种方法来计算n的值。计算用多个1和多个2相加令其和等于n+1的方法的数目,同时最后一个加数是2的情况。如前所述,当n0,有种这样的方法。因为当中只有一种方法不用使用2,就即〔n+1项〕,于是我们从减去1。假设第1个被加数是2,有个方法来计算加至n-1的方法的数目;假设第2个被加数是2、第1个被加数是1,有个方法来计算加至的方法的数目。重复以上动作。假设第个被加数为2,它之前的被加数均为1,就有F(0)个方法来计算加至0的数目。假设该数式包含2为被加数,2的首次出现位置必然在第1和n+1的被加数之间。2在不同位置的情况都考虑到后,得出为要求的数目。相关的数列费波那西数列是费波那西n步数列步数为2的特殊情况,也和卢卡斯数列有关。和卢卡斯数列的关系反费波那西数列反费波那西数列的递归公式如下:如果它以1,-1,之后的数是:1,-1,2,-3,5,-8,...即是。反费波那西数列两项之间的比会趋近。巴都万数列费波那西数列可以用一个接一个的正方形来表现,巴都万数列那么是用一个接一个的等边三角形来表现,它有的关系。应用1970年,YuriMatiyasevich指出了偶角标的斐波那契函数正是满足JuliaRobison假设的丢番图函数,因而证明了希尔伯特第十问题是不可解的。相关猜测斐波那契数列中是否存在无穷多个素数?……目前最大素数是第81839个斐波那契数,一共有17103位数。程序(参考)>#include<stdio.h>#include<stdlib.h>intmain(void){longlongn,m,max;chara[120000]={0},b[120000]={0},c[120000]={0},carry;FILE*fp;fp=fopen("FibonacciSequence.dat","w");printf("FibonacciSequence:\n");printf("---------------------------\n");printf("檔案匯知名稱:FibonacciSequenceLimit.dat\n");printf("檔案匯出位址:與此執行檔放在同一個資料夾中\n");printf("-----------------------------------------\n");printf("目前程式已輸出項數:\n");a[1]=1;b[1]=1;m=2;max=1;carry=0;begin://firstcycle:m=m+1;for(n=1;;n++){if(carry==0){c[n]=a[n]+b[n];}if(carry==1){c[n]=a[n]+b[n]+carry;carry=0;}if(n>=max){if(c[n]==0&&c[n+1]==0){break;}}if(c[n]>=10){carry=1;c[n]=c[n]-10;}}n=n-1;max=n;printf("%d\r",m);if(c[100000]!=0){fprintf(fp,"\n第%d項:\n",m);for(n=n;n>=1;n=n-1){fprintf(fp,"%d",c[n]);}}carry=0;//secondcycle:m=m+1;for(n=1;;n++){if(carry==0){a[n]=b[n]+c[n];}if(carry==1){a[n]=b[n]+c[n]+carry;carry=0;}if(n>=max){if(a[n]==0&&a[n+1]==0){break;}}if(a[n]>=10){carry=1;a[n]=a[n]-10;}}n=n-1;max=n;printf("%d\r",m);if(a[100000]!=0){fprintf(fp,"\n第%d項:\n",m);for(n=n;n>=1;n=n-1){fprintf(fp,"%d",a[n]);}}carry=0;//thirdcycle:m=m+1;for(n=1;;n++){if(carry==0){b[n]=c[n]+a[n];}if(carry==1){b[n]=c[n]+a[n]+carry;carry=0;}if(n>=max){if(b[n]==0&&b[n+1]==0){break;}}if(b[n]>=10){carry=1;b[n]=b[n]-10;}}n=n-1;max=n;printf("%d\r",m);if(b[100000]!=0){fprintf(fp,"\n第%d項:\n",m);for(n=n;n>=1;n=n-1){fprintf(fp,"%d",b[n]);}}carry=0;gotobegin;}最大極限項數:約三十六萬項不會輸出第零項至第項二項的值註:編譯器(Compiler):DevC++注意:僅提供測試及教學

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论