二分求幂(快速求幂,二进制求幂)

Posted 北溟有鱼。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分求幂(快速求幂,二进制求幂)相关的知识,希望对你有一定的参考价值。

二分求幂,

非递归求法(二进制求法):

比如

  

2^5就是5个2相乘,按照5的二进制求

3^10就是8个3相乘,再2个3相乘。

处理幂的二进制,具体实现代码如下:

long long quickmulti(long long a,long long b)
{
    long long res=1;
    while(b)
    {
        if(b&1)    //如果最后一位为1,则res*=a;
            res*=a;
        a*=a;      //a*=a
        b>>=1;     //b%=2
    }
    return res;
}

  

以上是关于二分求幂(快速求幂,二进制求幂)的主要内容,如果未能解决你的问题,请参考以下文章

矩阵快速求幂

矩阵快速求幂

快速求幂

二分求幂

求幂函数代码比较

题目1441:人见人爱 A ^ B(二分求幂)