/**
* 快速幂 快速算底数的n次幂
* @param exponent 指数
* @param base 底数
* @return
*/
public static int fastPower(int exponent, int base) {
int power = 1;
int n = exponent;
if (exponent < 0) {
if (base == 0)
throw new RuntimeException("0不可以做底数");
n = -n;
}
while (n != 0) {
//若为1则计算,否则跳过
if ((n & 1) == 1)
power *= base;
base *= base;
n >>= 1;
}
return exponent > 0 ? power : 1 / power;
}
快速幂
最新推荐文章于 2022-06-17 17:25:01 发布