lc-go/solutions/0/q50/solution.go

26 lines
339 B
Go

// Package q50 implements a solution for https://leetcode.com/problems/powx-n/
package q50
func myPow(x float64, n int) float64 {
neg := n < 0
if neg {
n = -n
}
var ret float64 = 1
for n > 0 {
v, p := x, 1
for p*2 < n {
p *= 2
v *= v
}
n -= p
ret *= v
}
if neg {
return 1 / ret
}
return ret
}
var _ = myPow