剑指offer第12题

数值的整数次方_牛客网

https://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00?tpId=13&tqId=11165&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方

public class Solution {
    public double Power(double base, int exponent) {
        if (base == 0.0){
            return 0.0;
        }
        // 前置结果设为1.0,即当exponent=0 的时候,就是这个结果
        double result = 1.0d;
        // 获取指数的绝对值
        int e = exponent > 0 ? exponent : -exponent;
        // 根据指数大小,循环累乘
        for(int i = 1 ; i <= e; i ++){
            result *= base;
        }
        // 根据指数正负,返回结果
        return exponent > 0 ? result : 1 / result;
  }
}
全部评论
浮点数哪能直接比较的!
1 回复 分享
发布于 2021-07-28 19:42
这不是最优的,剑指offer有说
点赞 回复 分享
发布于 2020-04-12 10:31
-exponent会溢出吧
点赞 回复 分享
发布于 2020-04-02 23:52
double类型可以使用==判断?
点赞 回复 分享
发布于 2020-02-19 15:31

相关推荐

点赞 评论 收藏
分享
05-22 17:07
已编辑
广东石油化工学院 Java
点赞 评论 收藏
分享
评论
51
收藏
分享

创作者周榜

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