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

数值的整数次方

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 )

}

全部评论

相关推荐

03-11 23:33
已编辑
曲阜师范大学 后端工程师
牛客68808588...:果真开发过12306购票系统吗,这不是一眼就被看穿了
点赞 评论 收藏
分享
03-04 22:09
已编辑
南昌大学 golang
西北上单:29届? 请你去三角洲猛攻
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务