跳到主要内容

12-12 面试题

Jacob
虚心学习

手动实现一个冥运算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))
}