快速幂算法

快速幂

快速幂算法——可迅速计算出ab的值 ,其理论依据是
1. 当b为偶数时,可将ab 分解为a2b/2次方。
2. 当b为奇数时,可将aba2b/2a
继续按这个规则进行迭代。

ab

//快速幂
LL pow_m(LL a,LL n,LL MOD)
{
    LL ret=1;
    LL tmp=a%MOD;
    while(n)
    {
        if(n&1)
        {
            ret=(ret*tmp)%MOD;
        }
        tmp=tmp*tmp%MOD;
        n>>=1;
    }
    return ret;
}
posted @ 2018-04-12 11:15  Bryce1010  阅读(82)  评论(0编辑  收藏  举报