下面是 m^n % k 的快速幂:
// m^n % k
int quickpow(int m,int n,int k)
{
int b = 1;
while (n > 0)
{
if (n & 1)
b = (b*m)%k;
n = n >> 1 ;
m = (m*m)%k;
}
return b;
}
int quickpow(int m,int n,int k)
{
int b = 1;
while (n > 0)
{
if (n & 1)
b = (b*m)%k;
n = n >> 1 ;
m = (m*m)%k;
}
return b;
}
m^n
int f(int a,int n)
{
int r = 1 ;
while(n>0)
{
{
int r = 1 ;
while(n>0)
{
if(n & 1)
r *= a;
a =a*a;
n >>= 1;
}
return r;
}
r *= a;
a =a*a;
n >>= 1;
}
return r;
}