求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,这个叫做快速幂取模算法,如果不取模就是快速幂了。
本文深入探讨了快速幂取模算法的实现原理与代码细节,通过递归分解的方法求解大数幂运算,有效避免了数值溢出,适用于密码学、大数运算等场景。
4905

被折叠的 条评论
为什么被折叠?



