【斐波那契数】
以斐波那契数为边的正方形拼成的近似的黄金矩形(1:1.618)
-{zh-hant:费波那契数;zh-hans:斐波那契数}-（意大利语：Successione di Fibonacci），又译为菲波拿契数、菲波那西数、斐氏数、黄金分割数。所形成的数列称为-{zh-hant:费波那契数列;zh-hans:斐波那契数列}-（意大利语：Successione di Fibonacci），又译为菲波拿契数列、菲波那西数列、斐氏数列、黄金分割数列。这个数列是由意大利数学家斐波那契在他的《算盘书》中提出。
在数学上，斐波那契数是以递归的方法来定义：
*（）
用文字来说，就是斐波那契数列由0和1开始，之后的斐波那契数就是由之前的两数相加而得出。首几个斐波那契数是：
数列|$、 |1|15|last(1)+last(2)|last1=1987……id=A000045
特别指出：0不是第一项，而是第零项。
==起源==
公元1150年印度数学家Gopala和金月在研究箱子包装物件长宽刚好为1和2的可行方法数目时，首先描述这个数列。在西方，最先研究这个数列的人是比萨的李奥纳多（义大利人斐波那契Leonardo Fibonacci, 1175－1250），他描述兔子生长的数目时用上了这数列：
兔子对的数量就是斐波那契数列
*第一个月初有一对刚诞生的兔子
*第二个月之后（第三个月初）牠们可以生育
*每月每对可生育的兔子会诞生下一对新兔子
*兔子永不死去
假设在月有兔子总共对，月总共有对。在月必定总共有对：因为在月的时候，前一月（月）的对兔子可以存留至第月（在当月属于新诞生的兔子尚不能生育）。而新生育出的兔子对数等于所有在月就已存在的对
斐波纳契数是帕斯卡三角形的每一条红色对角线上数字的和。
斐波纳契数也是杨辉三角的每一条红色对角线上数字的和。
==表达式==
为求得斐波那契数列的一般表达式，可以借助线性代数的方法。高中的初等数学知识也能求出。
===初等代数解法===
已知
*（n≥3）
====首先构建等比数列====
设化简得
比较系数可得：
不妨设
解得：
又因为有，
即为等比数列。
====求出数列====
由以上可得：
变形得：
。
令
==== 求数列进而得到====
设，解得。
故数列为等比数列
即。而，
故有
又有
和
可得
得出表达式
==== 用数学归纳法证明表达式 ====
证明，其中为黄金比例，为任意整数
*若为非负整数
当时，，成立
当时，，成立
设当及时皆成立，即且
当时
亦成立
*若为非正整数
当时，成立
当时，，成立
设当及时皆成立，即且
当时
亦成立
因此，根据数学归纳法原理，此表达式对于任意整数皆成立
===线性代数解法===
====构建一个矩阵方程====
设为第个月有生育能力的兔子数量，为这一月份的兔子数量。
上式表达了两个月之间，兔子数目之间的关系。而要求的是，的表达式。
====求矩阵的特征值：====
根据特征值的计算公式，我们需要算出来  所对应的解。
展开行列式有：。
故当行列式的值为 0，解得  或 。
====特征向量====
将两个特征值代入
求特征向量得
=
=
====分解首向量====
第一个月的情况是兔子一对，新生0对。
将它分解为用特征向量表示。
（4）
====用数学归纳法证明====
从
=
可得到
（5）
====化简矩阵方程====
将（4） 代入 （5）
根据3
====求A的表达式====
现在在6的基础上，可以很快求出的表达式，将两个特征值代入6中
（7）
（7）即为的表达式
=== 数论解法 ===
实际上，如果将斐波那契数列的通项公式写成，即可利用解二阶线性齐次递回关系式的方法，写出其特征多项式（该式和表达斐波那契数列的矩阵的特征多项式一致），然后解出=，=，即有，其中为常数。我们知道，因此，解得。
===组合数解法===
===黄金比例恒等式解法===
设为黄金比例，则有恒等式与，其中为任意整数name=varphi，则
因此得到的一般式：
此一般式对任意整数成立
===近似值===
当为足够大的正整数时，则
===用计算机求解===
可通过编程观察斐波那契数列。分为两类问题，一种已知数列中的某一项，求序数。第二种是已知序数，求该项的值。
可通过递归递推的算法解决此两个问题。
事实上当相当巨大的时候，O（n）的递推/递归非常慢……这时候要用到矩阵快速幂这一技巧，可以使递回加速到O(logn)。
==和黄金分割的关系==
开普勒发现数列前、后两项之比，也组成了一个数列，会趋近黄金分割：
斐波那契数亦可以用连分数来表示：
而黄金分割数亦可以用无限连分数表示：
而黄金分割数也可以用无限多重根号表示：
==和自然的关系==
春黄菊的头状花序上，小花呈螺旋状排列，从不同方向可以数出21（深蓝）和13（浅蓝）条旋臂，为相邻的斐氏数。类似的螺旋状排列见于多种植物。
斐氏数列见于不同的生物学现象，如树的分枝、叶在枝条上的排列、菠萝聚花果上小单果的排列、雅枝竹的花蕾、正在舒展的蕨叶、松毬的鳞的排列、蜜蜂的家族树。开普勒曾指出斐氏数列存在于自然界，并以此解释某些花的五边形形态（与黄金分割率相关）。p=110法国菊的「瓣」（舌状花）数通常为斐氏数。pp=112–131830年，K. F. Schimper和A. Braun发现植物的旋生叶序中，连续两块叶之间转过的角度与周角之比，约成整数比时，常出现斐氏数，如或。
==恒等式==
资料来源：
证明以下的恒等式有很多方法。以下会用组合论述来证明。
* 可以表示用多个1和多个2相加令其和等于的方法的数目。
不失一般性，我们假设，是计算了将1和2加到n的方法的数目。若第一个被加数是1，有种方法来完成对的计算；若第一个被加数是2，有来完成对的计算。因此，共有种方法来计算n的值。
计算用多个1和多个2相加令其和等于的方法的数目，同时至少一个加数是2的情况。
如前所述，当，有种这样的方法。因为当中只有一种方法不用使用2，就即　（项），于是我们从减去1。
#若第1个被加数是2，有种方法来计算加至的方法的数目；
#若第2个被加数是2、第1个被加数是1，有种方法来计算加至的方法的数目。
#重复以上动作。
#若第个被加数为2，它之前的被加数均为1，就有种方法来计算加至0的数目。
若该数式包含2为被加数，2的首次出现位置必然在第1和的被加数之间。2在不同位置的情况都考虑到后，得出为要求的数目。
*，其中与的序数皆不限于正整数。
**特别地，当时，
***更特别地，当或时，对于数列连续三项，有
**另一方面，当时，对于数列连续四项，有亦即「头尾两项乘积」与「中间两项乘积」恒相差1
*且，其中为黄金比例，为任意整数
:借由上述公式，又可推得以下恒等式：
***特别地，当时，
== 数论性质 ==
=== 公因数和整除关系 ===
*整除，若且唯若整除，其中。
*任意连续三个菲波那契数两两互质，亦即，对于每一个，
===斐波那契质数===
在斐波那契数列中，有质数：
2, 3, 5, 13, 89, 233, 1597, 28657, 514229, 433494437, 2971215073, 99194853094755497, 1066340417491710595814572169, 19134702400093278081449423917……
截至2015年，已知最大的斐波那契质数是第104911个斐波那契数，一共有21925个十进制位。不过，人们仍不知道是不是有无限个斐波那契质数。
如#公因数和整除关系所述，总能被整除，故除之外，任何斐氏质数的下标必同为质数。由于存在任意长的一列连续合数，斐氏数列中亦能找到连续任意多项全为合数。
大于的斐氏数，必不等于质数加一或减一。
=== 与其他数列的交集 ===
斐波那契数列中，只有3个平方数：0、1、144。2001年，Pethő Attila证明衹有有限多个斐氏数是完全幂。2006年，Y. Bugeaud、M. Mignotte、S. Siksek三人证明此种幂仅得0、1、8、144。
1、3、21、55为仅有的斐氏三角形数。Vern Hoggatt曾猜想此结论，后来由罗明证明。
斐波那契数不能为完全数。推而广之，除1之外，其他斐氏数皆非多重完全数，任两个斐氏数之比亦不能是完全数。
=== 模n的周期性 ===
斐波那契数列各项模的余数构成periodic sequence，其最小正周期称为皮萨诺周期，至多为。皮萨诺周期对不同值的通项公式仍是未解问题，其中一步需要求出某个整数（同余意义下）或二次有限域元素的multiplicative order。不过，对固定的，求解模的皮萨诺周期是cycle detection问题的特例。
==推广==
斐波那西数列是斐波那西n步数列步数为2的特殊情况，也和卢卡斯数列有关。
===和卢卡斯数列的关系===
===反费波那西数列===
反费波那西数列的递归公式如下：
如果它以1,-1开始，之后的数是：1,-1,2,-3,5,-8, ...
即是，
亦可写成，其中是非负整数。
反费波那西数列两项之间的比会趋近。
====证明关系式====
证明，其中是非负整数
以表示黄金分割数，则有
故，因此
===巴都万数列===
费波那西数列可以用一个接一个的正方形来表现，巴都万数列则是用一个接一个的等边三角形来表现，它有的关系。
===佩尔数列===
佩尔数列的递归公式为，前几项为0,1,2,5,12,29,70,169,408,...
==应用==
1970年，尤里·马季亚谢维奇指出了偶角标的斐波那契函数
正是满足Julia Robison假设的丢番图函数，因而证明了希尔伯特第十问题是不可解的。
=== 电脑科学 ===
平衡因子以绿色标记，节点的高度则为红色。最左一条路径上的键值全为斐氏数。
*考虑以辗转相除法求两个正整数的最大公因数，分析此算法的运行时间。同等输入规模下，最坏情况（用时最长）发生于输入为两个相邻斐氏数时。
*归并排序算法有一多相（polyphase）版本用到斐氏数列，是将未排序的数组分为两份，长度为相邻的斐氏数（因此比值接近黄金比）。《计算机程序设计艺术》描述了此种polyphase merge sort的实作方法，适用于以磁带机为外存的情况。
*斐波那契树斐波那契树是一棵二叉树，其每个节点的左右子树高皆恰好差1。由此，斐氏树为AVL树，且对固定高度而言，是最少节点的AVL树。此类树的节点数可写成斐氏数减1。
* 某些伪随机数生成器用到斐氏数列。
* 斐波那契堆是一种数据结构，分析其时间复杂度时会用到斐波那契数。
*斐波那契编码是以01字串表示正整数的一种方法，NegaFibonacci coding与之类似，还可以表示负数。
==程式参考==
JavaScript迭代版
function fib(n) {
var fib_n = function(curr, next, n) {
if (n == 0) {
return curr;
}
else {
return fib_n(next, curr+next, n-1);
}
}
return fib_n(0, 1, n);
}
alert(fib(40));
C语言通项公式版
#include
#include
int main()
{
int n;
double constant_a = (1 + sqrt(5)) / 2;
double constant_b = (1 - sqrt(5)) / 2;
double constant_c = sqrt(5) / 5;
double value_1 = 0;
int value_2 = 0;
scanf("%d", &n);
if(n > 0)
{
for (int i = 0; i
c++二变数求某项版
#include
using namespace std;
int main () {
int x,y,n;
x=1;y=0;
cin >> n;
for (int i=0;i
c++通项公式版
#include
#include
using namespace std;
int main()
{
unsigned long long n;
double ca = (1 + sqrt(5)) / 2;
double cb = (1 - sqrt(5)) / 2;
double cc = sqrt(5) / 5;
double v1 = 0;
double v2 = 0;
cout >n;
if(n > 0)
{
for (unsigned long long i = 0; i Python语言通项公式版
# Fibonacci numbers module
def fib(n):    # write Fibonacci series up to n
a, b = 0, 1
while b
fibs = 0, 1
numZS = int(input('How many Fibonacci numbers do you want? '))
for i in range(numZS-2):
fibs.append(fibs-2 + fibs-1)
print fibs
Common Lisp
(defun fibs (x)
(cond ((equal x 0) 1)
((equal x 1) 1)
(t (+ (fibs (- x 1))
(fibs (- x 2))))))
(defun fibs (x)
(do ((n 0 (+ n 1))
(i 1 j)
(j 1 (+ i j)))
((equal n x) i)))
Go
递回版，时间复杂度为 O(2^n)：
func fibonacci(n int) int {
if n
通用版，时间复杂度为 O(n)：
func fibonacci(n int) int {
a, b := n%2, 1
for i := 0; i
Java语言通项公式版：
public int fibonacci(int n){
if(n
Java语言快捷版：
public int fibonacci(int n){
if(n
C语言阵列版：
#include
#include
int main()
{
int n,s,L;
printf("输入长度");
scanf("%d",&L);
while(L
Python Lambda 递回版:
fib = lambda n: n if n
== 延伸阅读 ==
* KNUTH, D. E. 1997. The Art of Computer ProgrammingArt of Computer Programming, Volume 1: Fundamental Algorithms, Third Edition. Addison-Wesley. Chapter 1.2.8.
* Arakelian, Hrant (2014). Mathematics and History of the Golden Section. Logos, 404 p. ISBN 978-5-98704-663-0, (rus.)
* 克里福德A皮科夫.数学之恋.湖南科技出版社.
== 参考文献 ==
* cite book | last = Livio | first = Mario | author-link = Mario Livio | title = The Golden Ratio: The Story of Phi, the World's Most Astonishing Number | url = https://books.google.com/books?id=bUARfgWRH14C | orig-year = 2002 | edition = First trade paperback | year = 2003 | publisher = Broadway Books | location = New York City | isbn = 0-7679-0816-3 |ref = harv