const int mod=0x3f3f3f;
//表示pow(b,p) 的结果对mod取模
//
//
int fast_pow(int b,int p,int mod)
{
int ans=1;
while(p){
if(p&1)
ans=ans*b%mod;
b=b*b%mod;
p>>=1;
}
return ans;
}
原理:
将p装换为二进制的形式,b表示每一个二进制位数的权值,如果p当前位是1,乘上该权值。
const int mod=0x3f3f3f;
//表示pow(b,p) 的结果对mod取模
//
//
int fast_pow(int b,int p,int mod)
{
int ans=1;
while(p){
if(p&1)
ans=ans*b%mod;
b=b*b%mod;
p>>=1;
}
return ans;
}
原理:
将p装换为二进制的形式,b表示每一个二进制位数的权值,如果p当前位是1,乘上该权值。