快速幂
int pow(int a,int b)
{
int v=1;
while(b)
{
if(b&1)
v*=a;
a*=a;
b=b>>1;
}
return v;
}
快速幂取模
int pow_mod(int a,int b,int c)
{
int v=1;
while(b)
{
if(b&1)
v=v*a%c;
a=a*a%c;
b=b>>1;
}
return v;
}
取模运算的公式
(a + b) % p = (a % p + b % p) % p
(a – b) % p = (a % p – b % p) % p
(a * b) % p = (a % p * b % p) % p
ab % p = ((a % p)b) % p
((a+b) % p + c) % p = (a + (b+c) % p) % p
((a*b) % p * c)% p = (a * (b*c) % p) % p
但貌似除法不可以。