求n的l次方,l较大的话。
简单地说就是 2 的1000000次方的话,我们可以求pow(pow(2,2),500000),求pow( pow( pow(2,2),2 ),250000 ).
依次......
代码。
int power(long long a, int n)
{
long long ans = 1;
while(n > 0) {
if(n&1) {
ans *= a;
ans %= mod;
}
a *= a%mod;
a %= mod;
n /= 2;
}
return ans%mod;
}
mod是在ans超ll 时可以用来减小ans,这个叫做快速幂取模算法,如果不取模就是快速幂了。