标签:进制 type 快速幂 导出 快速 poj 二进制 return mod
1.(a^b)mod p POJ 1995 快速幂板子题
(附带板子)
typedef long long ll;
ll mod;
ll qp(ll a,ll b)
{
ll ret=1,base=a;
while(b)
{
if(b&1)
ret=(ret*base)%mod;
base=(base*base)%mod;
b=b>>1;
}
return ret;
}
2.求(a*b)mod p; (a,b为longlong 64位整数乘法)
设b的二进制表示为b=Ck*2^k+Ck-1*2^k-1+.....+C0*2^0. 其中Ci∈{0,1};
那么a*b=a*(∑i=0->k Ci*2^i)=∑(i=0 to k) (a*2^i)*Ci;
由于a*2^i=(a*2^i-1)*2,而Ci可以由b&1导出,可以进行推导。
标签:进制 type 快速幂 导出 快速 poj 二进制 return mod
原文地址:https://www.cnblogs.com/little-cute-hjr/p/12289138.html