C++编程之美-数字之魅(代码清单2-19)

代码清单2-19

Class Matrix;                         // 假设我们已经有了实现乘法操作的矩阵类
                                        // 求解m的n次方
Matrix MatrixPow(const Matrix& m, int n)
{
     Matrix result = Matrix::Identity;        // 赋初值为单位矩阵
     Matrix tmp = m;
     for(; n; n >>= 1)
     {
          if (n & 1)
               result *= tmp;
          tmp *= tmp;
     }
}
int Fibonacci(int n)
{
     Matrix an = MatrixPow(A, n - 1);         // A的值就是上面求解出来的
     return F1* an(0, 0) + F0 * an(1, 0);    // 返回Fn
}
发布了1210 篇原创文章 · 获赞 951 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/weixin_42528266/article/details/104027569