快速幂取模模板

int quickmod(int a,int b,int mod)
{
    int ans=1;
    a=a%mod;
   while(b!=0)
   {
       if(b%2==1)
       {
           ans=(ans*a)%mod;
       }
       b=b/2;
       a=a*a%mod;
   }
   return ans;
}

其他模板代码的b&1就是b%2==1的意思,这个是最容易理解的模板

posted @ 2018-07-04 20:27  勿忘安己  阅读(100)  评论(0编辑  收藏  举报