【发布时间】:2013-12-20 04:19:43
【问题描述】:
#include <iostream>
using namespace std;
int main() {
int i=1;
int j=0;
int k=0;
int h=1;
int t=0;
int n;
cin>>n;
while (n) {
if (n%2) {
t=j*h;
j=i*h+j*k+t;
i=ik+t;
}
t=h*h;
h=2*k*h+t;
k=k*k+t;
n=n/2;
}
cout<<j;
return 0;
}
这是我在互联网上找到的最快的斐波那契算法。我理解的其他算法,但这一个对我来说没有任何意义。
我不明白该算法与矩阵乘法或平方乘方有何关系。谁能解释一下?
【问题讨论】:
-
笔和纸。写出来。
-
已经试过了。我就是不明白。
标签: c++ algorithm matrix-multiplication fibonacci exponentiation