学习:http://blog.youkuaiyun.com/xuruoxin/article/details/8578992
int PowerMod(long long a,long long b,long long c)
{
long long ans=1;
a=a%c;
while(b)
{
if(b&1) //奇数情况
ans=(ans*a)%c;
a=(a*a)%c;
b=b>>1; //相当于b=b/2
}
return ans;
}
递归思想容易理解
long long pow(long long a,long long n,int mod) //a^n%mod
{
if(n==0) return 1;
long long x=pow(a,n/2);
long long ans=x*x%mod;
if(n%2==1) ans=ans*a%mod;
return ans;
}