龟速乘

我们当然都知道,快速幂是个好东西。然鹅快速幂也有bug——如果模数比较大

long long quick_mul(long long x,long long y,long long mod) 
{
    long long ans=0;
    while(y!=0){
        if(y&1==1)ans+=x,ans%=mod;
        x=x+x,x%=mod;
        y>>=1; 
    }
    return ans;
}

long long quick_pow(long long x,long long y,long long mod)
{
    long long sum=1;
    while(y!=0){
         if(y&1==1)sum=quick_mul(sum,x,mod),sum%=mod;
             x=quick_mul(x,x,mod),x%=mod;
              y=y>>1;
    }
    return sum;
}

 

上一篇:阿里巴巴数据分析沙龙 杭州站圆满召开


下一篇:Quick_sort(快速排序)