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

数值的整数次方

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 )

}

全部评论

相关推荐

酷酷的喜马拉雅山:感觉这比一直在初筛不动的好多了
点赞 评论 收藏
分享
09-10 15:05
已编辑
门头沟学院 游戏后端
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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