斐波那契数列

title: 源起.
content: 根据高德纳(Donald Ervin Knuth)的《计算机程序设计艺术》("The Art of Computer Programming"),1150年印度数学家Gopala和金月在研究箱子包装物件长宽刚好为1和2的可行方法数目时,首先描述这个数列。在西方,最先研究这个数列的人是比萨的列奥那多(意大利人斐波那契Leonardo Fibonacci),他描述兔子生长的数目时用上了这数列:  假设在n月有兔子总共a对,n+1月总共有b对。在n+2月必定总共有a+b对:因为在n+2月的时候,前一月(n+1月)的b对兔子可以存留至第n+2月(在当月属于新诞生的兔子尚不能生育)。而新生育出的兔子对数等于所有在n月就已存在的a对  斐波纳契数也是帕斯卡三角形的每一条红色对角线上数字的和。
title: 表达式.
content: 为求得斐波那契数列的一般表达式,可以借助线性代数的方法。高中的初等数学知识也能求出。
title: 初等代数解法.
content: 已知
title: 首先构建等比数列.
content: 设formula_7化简得formula_8 比较系数可得: formula_9 不妨设formula_10 解得:  formula_11  又因为有formula_7, 即formula_13为等比数列。
title: 求出数列{formula_14}.
content: 由以上可得: formula_15  变形得: formula_16。 令formula_17
title: 求数列{formula_18}进而得到{formula_19}.
content: formula_20 设formula_21,解得formula_22。 故数列formula_23为等比数列 即formula_24。而formula_25, 故有formula_26 又有formula_11 和formula_17 可得formula_29  得出formula_30表达式  formula_29
title: 线性代数解法.
content: formula_32  formula_33
title: 构建一个矩阵方程.
content: 设J为第n个月有生育能力的兔子数量,A为这一月份的兔子数量。  上式表达了两个月之间,兔子数目之间的关系。而要求的是,A的表达式。
title: 求矩阵的特征值:formula_35.
content: 行列式:formula_36  当行列式的值为0,解得formula_37=formula_38或formula_39=formula_40
title: 特征向量.
content: 将两个特征值代入  求特征向量formula_42得  formula_43=formula_44  formula_45=formula_46
title: 分解首向量.
content: 第一个月的情况是兔子一对,新生0对。  将它分解为用特征向量表示。
title: 用数学归纳法证明.
content: 从  可得到
title: 化简矩阵方程.
content: 将(4) 代入 (5)  根据3
title: 求A的表达式.
content: 现在在6的基础上,可以很快求出A的表达式,将两个特征值代入6中  (7)即为A的表达式
title: 数论解法.
content: 实际上,如果将斐波那契数列的通项公式写成formula_57,即可利用解二阶线性齐次递回关系式的方法,写出其特征多项式formula_58(该式和表达斐波那契数列的矩阵的特征多项式一致),然后解出formula_37=formula_38,formula_39=formula_40,即有formula_63,其中formula_64为常数。我们知道formula_65,因此formula_66,解得formula_67。
title: 组合数解法.
content: formula_68
title: 用计算机求解.
content: 可通过编程观察斐波那契数列。分为两类问题,一种已知数列中的某一项,求序数。第二种是已知序数,求该项的值。  可通过递归递推的算法解决此两个问题。 事实上当n相当巨大的时候,O(n)的递推/递归非常慢......这时候要用到矩阵快速幂这一技巧,可以使递回加速到O(logn)。
title: 和黄金分割的关系.
content: 开普勒发现数列前、后两项之比1/2,2/3, 3/5,5/8,8/13,13/21,21/34...,也组成了一个数列,会趋近黄金分割:  斐波那契数亦可以用连分数来表示:  formula_72  formula_73  而黄金分割数亦可以用无限连分数表示: 而黄金分割数也可以用无限多重根号表示:
title: 与平方数的关系.
content: 斐波那契数列中,只有3个平方数:0、1、144。
title: 和自然的关系.
content: </math>
title: 恒等式.
content: 证明以下的恒等式有很多方法。以下会用组合论述来证明。 不失一般性,我们假设formula_79,formula_80是计算了将1和2加到n的方法的数目。若第一个被加数是1,有formula_76种方法来完成对formula_82的计算;若第一个被加数是2,有formula_83来完成对formula_84的计算。因此,共有formula_85种方法来计算n的值。 计算用多个1和多个2相加令其和等于formula_87的方法的数目,同时至少一个加数是2的情况。  如前所述,当formula_88,有formula_89种这样的方法。因为当中只有一种方法不用使用2,就即formula_90 (formula_87项),于是我们从formula_89减去1。  若该数式包含2为被加数,2的首次出现位置必然在第1和formula_87的被加数之间。2在不同位置的情况都考虑到后,得出formula_100为要求的数目。
title: 定理.
content: 特别地,当"m" = "n"时,
title: 相关的数列.
content: 费波那西数列是费波那西n步数列步数为2的特殊情况,也和卢卡斯数列有关。
title: 反费波那西数列.
content: 反费波那西数列的递归公式如下:  如果它以1,-1,之后的数是:1,-1,2,-3,5,-8,...  即是formula_113。  反费波那西数列两项之间的比会趋近formula_114。
title: 巴都万数列.
content: 费波那西数列可以用一个接一个的正方形来表现,巴都万数列则是用一个接一个的等边三角形来表现,它有formula_115的关系。
title: 佩尔数列.
content: 佩尔数列的递归公式为formula_116,前几项为0,1,2,5,12,29,70,169,408...
title: 应用.
content: 1970年,尤里·马季亚谢维奇指出了偶角标的斐波那契函数 正是满足Julia Robison假设的丢番图函数,因而证明了希尔伯特第十问题是不可解的。
title: 相关猜想.
content: 斐波那契数列中是否存在无穷多个质数?  在斐波那契数列中,有质数: 2, 3, 5, 13, 89, 233, 1597, 28657, 514229, 433494437, 2971215073, 99194853094755497, 1066340417491710595814572169, 19134702400093278081449423917...... 目前已知最大质数是第81839个斐波那契数,一共有17103位数。
title: 程序参考.
content: JavaScript迭代版 C语言通项公式版 c++通项公式版 using namespace std; int main() Python语言通项公式版  def fib(n): # write Fibonacci series up to n  def fib2(n): # return Fibonacci series up to n  Common Lisp Go  递回版,时间复杂度为 O(2^n): 通用版,时间复杂度为 O(n): Java语言通项公式版: Java语言快捷版:  C语言阵列版:  Python Lambda 递回版:

Summary: 斐波那契数列(意大利语:Successione di Fibonacci),又译为菲波拿契数列、菲波那西数列、斐氏数列、黄金分割数列。

Suite de Fibonacci: En mathématiques, la suite de Fibonacci est une suite d'entiers dans laquelle chaque terme est la somme des deux termes qui le précèdent. Elle commence par les termes 0 et 1 (on trouve des définitions qui la font commencer avec 1 et 1). Les termes de cette suite sont appelés "nombres de Fibonacci" () :