快速幂模板
快速幂模板有两个;一个是递归写法;另一个是快速幂的迭代写法
模板一|递归写法
c++代码模板
typedef long long ll;
ll pow(ll a, ll b, ll p)
{
if(b==0) return 1%p;
if(b%2==1) return a*pow(a,b-1,p)%p;
else{
ll mul = binaryPow(a,b/2,p);
return mul*mul%p;
}
}
模板二|迭代写法
c++代码模板
typedef long long ll;
ll pow(ll a, ll b, ll p)
{
if(b==0) return 1;
ll ans=1;
while(b>0)
{
if(b&1) ans = ans*a%p;
a = a*a%p;
b>>1;
}
return ans;
}