位运算

时间:2020-01-31 20:29:11   收藏:0   阅读:68

位运算

1.

求a的b次方对p取模的值

快速幂模板

typedef long long ll;
long long  power(ll a,ll b,ll p)
{  

    int ans=1%p;
     while(b)
  {
    if(b&1)
    ans=ans*a%p;
            a=a*a%p;
    b>>=1; 
  }
 return ans;
 } 

2.

64位整数乘法

求a乘b对p取模

ll power(ll a,ll b,ll p)
    {
  ll ans=0%p;
while(b)
{
     if(b&1)
    ans=(ans+a)%p;
    a=a*2%p;
    b>>=1;
}
return ans;
}
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!