想知道如何将其映射到代码,就像我必须要完成的那样 http://puu.sh/fKuyF/815515d66f.png
答案 0 :(得分:0)
这里值得一提的是Java中的几个Fibonacci示例。
public class Fibonacci
{
public static void main(final String[] args) {
for (int i = 0; i < 20; i++) {
System.out.print(fib1(i));
System.out.print(' ');
}
System.out.println();
for (int i = 0; i < 20; i++) {
System.out.print(fib2(i));
System.out.print(' ');
}
}
// naive recursive implementation
static int fib1(int n) {
if (n < 2) return n;
return fib1(n - 1) + fib1(n - 2);
}
// dynamic programming implementation
static int fib2(int n) {
if (n < 2) return n;
int n2 = 0, n1 = 1;
for (int i = 2; i <= n; i++) {
int n0 = n1 + n2;
n2 = n1;
n1 = n0;
}
return n1;
}
}
不确定矩阵取幂与它有什么关系。
答案 1 :(得分:0)
有所谓的Q矩阵,一张来自图片
| 1 1 | n | F(n+1) F(n) |
| 1 0 | = | F(n) F(n-1) |
Q的链乘法将产生期望的F(i)。将所需的次数,n-1,Q与自生成结果Qpow
相乘并返回Qpow[0][0]
。
我在我的博客take a look there for Java implementation上发布了平方示例。