首页 > 代码库 > 斐波那契
斐波那契
方法一:利用特征方程(线性代数解法)
斐波那契 f(n+1) = f(n)+f(n-1)
线性递推数列的特征方程为:
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=1
解得C1=1/√5,C2=-1/√5
∴F(n)=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}【√5表示根号5】
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=1
解得C1=1/√5,C2=-1/√5
∴F(n)=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}【√5表示根号5】
缺点是计算机中浮点数不准确
方法二:矩阵
(f_n,f_n-1) = (f_n-1,f_n-2)*A
1 1
A ={ } 这个矩阵太丑了。。。
1 0
所以 (f_n,f_n-1) = (f_1,f_0) * A^n-1
然后就是矩阵的幂乘法,,,利用快速幂可求
如果是f(k) = f(k-1)+f(k-2)+f(k-3)
那么
1 1 0
A = { 1 0 1 }
1 0 0
这种注意观察就可以了。
斐波那契
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。