前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天一道剑指offer-牛客网数值的整数次方

每天一道剑指offer-牛客网数值的整数次方

作者头像
乔戈里
发布2019-09-17 16:02:44
3580
发布2019-09-17 16:02:44
举报
文章被收录于专栏:Java那些事

辣条走起,每个月的刷题99元奖励靠大家了

前言

今天的题目 每天的题目见github(看最新的日期): https://github.com/gzc426 具体的题目可以去牛客网对应专题去找。

昨天的题解

题目

每天一道剑指offer-牛客网数值的整数次方 来源:牛客网对应专题

题目详述

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

题目详解

思路

  • 就是穷举,把所有可能穷举出来,然后对每一种情况处理。

代码

代码语言:javascript
复制
public class Solution {
    public double Power(double base, int exponent) {
        if(exponent == 0)//指数如果是0
        {
            if(equalZero(base) == true)//底数是0则返回0
                return 0;
            return 1;//除了0的任何数的0次方是1
        }
        if(exponent > 0)//指数大于0
        {
            return complex(base,exponent);//直接计算base的exponent次方返回即可
        }
        if(equalZero(base))//底数是0,指数小于0,因为如果指数大于0,在前面已经返回了!
        {
            if(base > 0)//底数是正0,那么就是正无穷
                return Double.POSITIVE_INFINITY;
            if(exponent % 2 == 0)//指数是偶数次方
                return Double.POSITIVE_INFINITY;//返回正无穷
            return Double.NEGATIVE_INFINITY;//其它结果负无穷
        }
        return 1 / complex(base,exponent);//可以知道除了上述结果,其它都是指数是负数。比如2的-3次方,先计算2的3次方,最后求倒数。
    }
    double complex(double base,int exponent)
    {
        double result = 1.0;
        if(exponent < 0)//如果指数小于0,比如2的-3次方,先计算2的3次方,然后求倒数
            exponent = 0 - exponent;
        for(int i=0;i<exponent;i++)
            result = result * base;
        return result;
    }
    boolean equalZero(double base)
    {//判断一个doule类型的数是不是0,必须这样判断,不能直接与0进行比较,因为浮点数本身不精确
        if(base >0 && base < 0.00000001)
            return true;
        if(base < 0 && base > -0.00000001)
            return true;
        return false;
    }
}

代码截图(为了避免代码排版错乱

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员乔戈里 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 昨天的题解
    • 题目
      • 题目详述
        • 题目详解
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档