题解 | #数值的整数次方#

数值的整数次方

https://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * @param base double浮点型
 * @param exponent int整型
 * @return double浮点型
 */
func Power(base float64, exponent int) float64 {
	// write code here
	if exponent < 0 {
		base = 1 / base
		exponent = -exponent
	}

	// 偶数    x ** n = x ** (n / 2) * x ** (n / 2)
	// 奇数    x ** n = x ** (n - 1) * x
	// n = 0   x ** n = 1
	ret := 1.0
	for exponent != 0 {
		if exponent&1 != 0 {
			ret *= base
		}
		base *= base
		exponent >>= 1
	}

	return ret
}

全部评论

相关推荐

笔试域名是show&nbsp;me&nbsp;bug
投递挚文集团等公司8个岗位 >
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务