12-12 面试题
手动实现一个冥运算pow函数,当场没想出来,搜了一下可以用二分冥,用golang和递归方法实现一下
package main
import "fmt"
func pow(basenum int, exp int) int {
var res int
if exp == 0 {
res = 1
} else if exp%2 != 0 {
res = pow(basenum, exp-1) * basenum
} else {
res = pow(basenum, exp>>1) * pow(basenum, exp>>1)
}
return res
}
func main() {
fmt.Println(pow(2, 3))
}
