2分求幂法

二分求幂法

所谓二分幂求法是根据二分的思想把算法的时间复杂度降下来。


求a  的 N 次方, 对于N的奇偶性进行讨论, 然后分别使用不同的方法进行求解。


如图:


2分求幂法:


代码:


//二分幂求幂方法
int pow2(int a, int b)
{
    int r = 1, base = a;
    while(b != 0)
    {
            if(b % 2)
                    r *= base;
            base *= base;
            b /= 2;
    }
    return r;
}