遞推公式:an=a(n-1)+a(n-2)
通項公式及推導方法:斐波那契數列公式的推導 斐波那契數列:1、1、2、3、5、8、13、21、……
如果設f(n)為該數列的第n項(n∈n+)。那麼這句話可以寫成如下形式:
f(0) = 0,f(1)=f(2)=1,f(n)=f(n-1)+f(n-2) (n≥3)
顯然這是乙個線性遞推數列。
通項公式的推導方法一:利用特徵方程
線性遞推數列的特徵方程為:
x^2=x+1
解得x1=(1+√5)/2,,x2=(1-√5)/2
則f(n)=c1*x1^n + c2*x2^n
∵f(1)=f(2)=1
∴c1*x1 + c2*x2
c1*x1^2 + c2*x2^2
解得c1=1/√5,c2=-1/√5
∴f(n)=(1/√5)*(√5表示根號5)
通項公式的推導方法二:普通方法
設常數r,s
使得f(n)-r*f(n-1)=s*[f(n-1)-r*f(n-2)]
則r+s=1, -rs=1
n≥3時,有
f(n)-r*f(n-1)=s*[f(n-1)-r*f(n-2)]
f(n-1)-r*f(n-2)=s*[f(n-2)-r*f(n-3)]
f(n-2)-r*f(n-3)=s*[f(n-3)-r*f(n-4)]
f(3)-r*f(2)=s*[f(2)-r*f(1)]
將以上n-2個式子相乘,得:
f(n)-r*f(n-1)=[s^(n-2)]*[f(2)-r*f(1)]
∵s=1-r,f(1)=f(2)=1
上式可化簡得:
f(n)=s^(n-1)+r*f(n-1)
那麼:f(n)=s^(n-1)+r*f(n-1)
= s^(n-1) + r*s^(n-2) + r^2*f(n-2)
= s^(n-1) + r*s^(n-2) + r^2*s^(n-3) + r^3*f(n-3)
= s^(n-1) + r*s^(n-2) + r^2*s^(n-3) +……+ r^(n-2)*s + r^(n-1)*f(1)
= s^(n-1) + r*s^(n-2) + r^2*s^(n-3) +……+ r^(n-2)*s + r^(n-1)
(這是乙個以s^(n-1)為首項、以r^(n-1)為末項、r/s為公比的等比數列的各項的和)
=[s^(n-1)-r^(n-1)*r/s]/(1-r/s)
=(s^n - r^n)/(s-r)
r+s=1, -rs=1的一解為 s=(1+√5)/2,r=(1-√5)/2
則f(n)=(1/√5)*
迭代法已知a1=1,a2=1,an=a(n-1)+a(n-2)(n>=3),求數列的通項公式
解 :設an-αa(n-1)=β(a(n-1)-αa(n-2))
得α+β=1
αβ=-1
構造方程x^2-x-1=0,解得α=(1-√5)/2,β=(1+√5)/2或α=(1+√5)/2,β=(1-√5)/2
所以an-(1-√5)/2*a(n-1)=(1+√5)/2*(a(n-1)-(1-√5)/2*a(n-2))=[(1+√5)/2]^(n-2)*(a2-(1-√5)/2*a1)`````````1
an-(1+√5)/2*a(n-1)=(1-√5)/2*(a(n-1)-(1+√5)/2*a(n-2))=[(1-√5)/2]^(n-2)*(a2-(1+√5)/2*a1)`````````2
由式1,式2,可得
an=[(1+√5)/2]^(n-2)*(a2-(1-√5)/2*a1)``````````````3
an=[(1-√5)/2]^(n-2)*(a2-(1+√5)/2*a1)``````````````4
將式3*(1+√5)/2-式4*(1-√5)/2,化簡得an=(1/√5)*
謝謝,希望採納和好評。注意黑體字上所寫的推導方法,這幾種方法還是比較經典的。
裴波那契數列
裴波那契 fibonacci leonardo,約1170 1250 是義大利著名數學家 在他的著作 算盤書 中許多有趣的問題,最富成功的問題是著名的 兔子繁殖問題 如果每對兔子每月繁殖一對子兔,而子兔在出生後第二個月就有生殖能力,試問一對兔子一年能繁殖多少對兔子?可以這樣思考 第乙個月後即第二個月...
裴波那契數列
def fib max num n,a,b 0,0,1 while n max num print b 列印出來的就是裴波那契數列,從第三項開始,每一項都等於前兩項之和 a,b b,a b n n 1 return done fib 7 0,0,1 第一次沒迴圈時預設值n 0,a 0,b 1 1,1...
菲波那契數列
菲波那契數列是指這樣的數列 數列的第乙個和第二個數都為1,接下來每個數都等於前面2個數之和。給出乙個正整數k,要求菲波那契數列中第k個數是多少。1 遞迴演算法 include define m 99 int main scanf d k for i 2 i k 1 i printf d n a k ...