快速幂
顾名思义:快速幂就是快速算底数的n次幂。其时间复杂度为O(logN)
原理
求a的b次方,将b转换为二进制数,该二进制数第i位的权为2^i-1.
代码实现
long long Pow(long long a, long long b){
long long r = 1;
while(b){
if(b&1)
r*=a;
a *=a;
b>>=1;
}
return r;
}
本文介绍了一种高效计算指数运算的方法——快速幂算法。快速幂算法的时间复杂度为O(logN),通过将指数转换为二进制数并利用位运算来减少乘法操作的数量。文章还提供了具体的代码实现。
顾名思义:快速幂就是快速算底数的n次幂。其时间复杂度为O(logN)
求a的b次方,将b转换为二进制数,该二进制数第i位的权为2^i-1.
long long Pow(long long a, long long b){
long long r = 1;
while(b){
if(b&1)
r*=a;
a *=a;
b>>=1;
}
return r;
}
1142

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