题解 | #数值的整数次方#
数值的整数次方
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
// 快速幂 , 每次拆成一半
// pow(2,10) => pow(2*2, 5) 偶数
// pow(2, 5) => pow(2, 4) * 2 奇数
if exponent == 0 {
return 1
}
if exponent == 1 {
return base
}
if exponent < 0 {
return 1 / Power(base, -exponent)
}
if exponent % 2 != 0 {
return base * Power(base, exponent-1)
}
return Power(base*base, exponent / 2 )
}
