斐波那契數列(
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 ...