topic
- Implement pow(x, n) , which computes the n-th power function of x (ie, xn). Library functions must not be used, and large numbers need not be considered.
- leetcode link: https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/
ideas
- fast power
code
var myPow = function (x, n) {
if (n === 0) return 1
let flag = n > 0
n = n > 0 ? n : -n
let mi = n // 幂
let res = 1 // 额外的x乘积
let di = x // 底数
while (mi) {
if (mi % 2) res *= di
di *= di
mi = Math.floor(mi / 2)
}
return flag ? res : 1 / res
}