鉴于快速幂与快速幂取模模板比较简单容易记,可以直接记模板。

typedef long long ll;
ll quick_pow(ll a,ll b){
   ll ans=1;
   while(b){
   if(b&1) ans*=a;
   a*=a;
   b>>=1;
   }
   return ans;
}// ans即为a^b
typedef long long ll;
ll quick_pow_mo(ll a,ll b,ll p){
   ll ans=1;
   while(b){
   if(b&1) ans=ans*a%p;
   a=a*a%p;
   b>>=1;
   }
   return ans;
}//ans 即为a^b%p的答案