【快速幂取模运算】
//取模运算(a*b)%c = (a%c)*(b%c)%c
int PowerMod(int a, int b, int c)
{
int ans = 1;
a = a % c;
while(b>0)
{
if(b % 2 = = 1)
ans = (ans * a) % c;
b = b/2;
a = (a * a) % c;
}
return ans;
}
【用快速幂求a的n次方】
涉及大数
long long sum,x;
int a,n;
x = a,sum = 1;
while(n)
{
if(n%2)
sum*=x;
n>>1;//等价于n/=2
x = x*x;
}