给定三个正整数a,b,m求a的b次方的m的余数
//递归写法
int quick(int a,int b,int m)
{
if(b==0) return 1;
if(b%2!=0)
return a*quick(a,b-1,m)%m;
else{
int k=quick(a,b/2,m);
return k*k%m;
}
}
//迭代写法
int quick(int a,int b,int m)
{
int ans=1;
while(b>0)
{
if(b&1)
ans=ans*a%m;
a=a*a%m;
b>>=1;
}
return ans;
}