Open ZhengXingchi opened 4 years ago
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
function power(base, exponent) {
let res = 1,
n;
if (exponent > 0) {
n = exponent;
} else if (exponent < 0) {
if (!base) throw new Error('分母不能为0')
n = -exponent
} else {
return 1
}
while (n) {
if (n & 1) {
res *= base
base *= base
}
n = n >> 1
}
return exponent > 0 ? res : 1 / res
}
常规求幂
快速求幂