大家好,乐天来为大家解答以下的问题,关于斐波那契数列c++语言,斐波纳契数列这个很多人还不知道,现在让我们一起来看看吧!
1、【斐波那挈数列通项公式的推导】[编辑本段]斐波那契数列:1,1,2,3,5,8,13,21…… 如果设F(n)为该数列的第n项(n∈N+)。
2、那么这句话可以写成如下形式:F(1)=F(2)=1,F(n)=F(n-1)+F(n-2) (n≥3)显然这是一个线性递推数列。
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*X2C1*X1^2 + C2*X2^2解得C1=1/√5,C2=-1/√5∴F(n)=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}【√5表示根号5】通项公式的推导方法二:普通方法设常数r,s使得F(n)-r*F(n-1)=s*[F(n-1)-r*F(n-2)]则r+s=1, -rs=1n≥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)*{[(1+√5)/2]^n - [(1-√5)/2]^n}。
本文分享完毕,希望对大家有所帮助。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!