快速幂总结

求m^n%k的快速幂模板如下:

int quickpow(int m,int n,int k)
{
    int b=1;
    while(n>0)
    {
        if(n&1) b=(b*m)%k;
        n=n>>1;
        m=(m*m)%k;
    }
    return b;
}

该方法基于以下公式:

  (a*b)%m=((a%m)*(b%m))%k;

posted @ 2016-08-31 15:47  TomJarry  阅读(109)  评论(0编辑  收藏  举报