斐波那契數

2021-08-04 12:28:32 字數 2129 閱讀 4564

斐波那契數列(

fibonacci sequence

)【簡介】

斐波那契數列

(fibonacci sequence),又稱

**分割

數列、因

數學家列昂納多·斐波那契(leonardoda fibonacci)以兔子繁殖為例子而引入,故又稱為「

兔子數列

」,指的是這樣乙個數列:1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以如下被以

遞迴的方法定義:f(0)=0,f(1)=1, f(n)=f(n-1)+f(n-2)(n>=2,n∈n*)

【**分割】

當n趨向於無窮大時,前一項與後一項的比值越來越逼近

**分割

0.618(或者說後一項與前一項的比值小數部分越來越逼近0.618)。

1÷1=1,1÷2=0.5,2÷3=0.666...,3÷5=0.6,5÷8=0.625…………,55÷89=0.617977……………144÷233=0.618025…46368÷75025=0.6180339886…...

【特性】

一、平方與前後項

從第二項開始,每個

奇數 項的

平方都比前後兩項之積多1,每個偶數項

的平方都比前後兩項之積少1。即:

[f(n)]^2-f(n-1)f(n+1)=(-1)^(n-1)

如:第二項1的平方比它的前一項1和它的後一項2的積2少1,第三項2的平方比它的前一項1和它的後一項3的積3多1。

二、與集合子集

斐波那契數列的第n+2項同時也代表了

集合 中所有不

包含 相鄰正

整數 的

子集 個數。

三、奇數項求和

四、偶數項求和

五、平方求和

【應用】

【楊輝三角】

將楊輝三角

左對齊,成如圖所示排列,將同一斜行的數加起來,即得一數列1、1、2、3、5、8、……

公式表示如下:

f⑴=c(0,0)=1。

f⑵=c(1,0)=1。

f⑶=c(2,0)+c(1,1)=1+1=2。

f⑷=c(3,0)+c(2,1)=1+2=3。

f⑸=c(4,0)+c(3,1)+c(2,2)=1+3+1=5。

f⑹=c(5,0)+c(4,1)+c(3,2)=1+4+3=8。

f⑺=c(6,0)+c(5,1)+c(4,2)+c(3,3)=1+5+6+1=13。 ……

f(n)=c(n-1,0)+c(n-2,1)+…+c(n-1-m,m) (m<=n-1-m)

【矩形面積】

斐波那契數列與矩形面積的生成相關,由此可以匯出乙個斐波那契數列的乙個性質。斐波那契數列前幾項的平方和可以看做不同大小的正方形,由於斐波那契的遞推公式,它們可以拼成乙個大的矩形。這樣所有小正方形的面積之和等於大矩形的面積。則可以得到如下的恒等式:

【排列組合】

有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?

這就是乙個斐波那契數列:登上第一級台階有一種登法;登上兩級台階,有兩種登法;登上**台階,有三種登法;登上四級台階,有五種登法……

1,2,3,5,8,13……所以,登上十級,有89種走法。

演化:一枚均勻的硬幣擲10次,問不連續出現正面的可能情形有多少種?

【實現】

#define max 80

__int64 c[max];

void p()

return 0;

}

斐波那契數

入門訓練 fibonacci數列 時間限制 1.0s 記憶體限制 256.0mb 問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,...

斐波那契數

遞迴演算法是不可取的。由於效率非常低,並且還有棧溢位的風險。應該使用例如以下的迭代解法 int fibonacci unsigned int n if n 1 int i 0,j 1,m unsigned int k for k 2 k n k return m 可是對於這題來說。上面的 還是不行的...

斐波那契數

力扣第509題 斐波那契數,通常用 f n 表示,形成的序列稱為 斐波那契數列 該數列由 0 和 1 開始,後面的每一項數字都是前面兩項數字的和。也就是 f 0 0,f 1 1 f n f n 1 f n 2 其中 n 1 給你 n 請計算 f n 分析 本題主要在於求斐波那契數,由f 0 0,f ...