剑指offer面试题11 数值的整数次方

10人阅读 评论(0) 收藏 举报
分类:
package offer;

/**
 * 求数值的整数次方,需要考虑全面
 * 10为底时负数次幂无意义,0为指数值为1,1为指数值为其本身
 * 2、指数为负数时,注意为倒数
 * 3、计算机中判断相等时考虑精度的问题,自己定义equals方法
 *
 * @auther Dennis
 * @date 2018/4/15
 */
public class Problem11Power {

    private boolean equal(double num1, double num2) {
        if (num1 - num2 > -0.0000001 && num1 - num2 < 0.0000001) {
            return true;
        } else {
            return false;
        }
    }

    private double powerWithExponent(double base, int exponent) {
        if (exponent == 0)
            return 1;
        if (exponent == 1)
            return base;
        double result = 1.0;
        for (int i = 1; i <= exponent; i++) {
            result *= base;
        }
        return result;
    }

    public double power(double base, int exponent) throws Exception {
        double result = 0.0;
        if (equal(base, 0.0) && exponent < 0) {
            throw new Exception("0的负数次幂没有意义");
        }
        if (exponent < 0) {
            result = 1.0 / powerWithExponent(base, -exponent);
        } else {
            result = powerWithExponent(base, exponent);
        }
        return result;
    }

    public static void main(String[] args) throws Exception {
        Problem11Power p11 = new Problem11Power();
        System.out.println(p11.power(2.0, 3));
    }
}
查看评论

剑指Offer面试题11(Java版):数值的整数次方

题目:实现函数double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题 1、自以为很简单的解法: 由于不需...
  • jsqfengbao
  • jsqfengbao
  • 2015-07-31 08:43:09
  • 2119

C++剑指offer_面试题11_数值的整数次方(*)

题目:实现函数 double Power(double base, int exponent),求 base 的 exponent 次方。不得使用库函数,同时不需要考虑大数问题。  通过这道...
  • xiaopihaierletian
  • xiaopihaierletian
  • 2017-04-25 20:57:54
  • 301

【剑指offer】数值的整数次方

剑指offer上的第十一题,九度OJ上测试通过。 题目描述: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 输入: 输入可能包含多个测...
  • mmc_maodun
  • mmc_maodun
  • 2014-05-11 09:27:25
  • 2935

《剑指offer》牛客网java题解-数值的整数次方

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 double类型不能直接用==判断,底数等于0指数小于0时不能将0作为分母。 使用了...
  • weixin_39071610
  • weixin_39071610
  • 2017-08-13 18:03:26
  • 135

剑指offer--数值的整数次方

题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 public class Solution { double Power...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-04-11 00:54:56
  • 673

剑指offer题解C++【12】数值的整数次幂

题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。解题思路库函数中有幂函数pow(x,y),如果你直接return pow(base...
  • budf01
  • budf01
  • 2017-07-27 15:55:25
  • 164

剑指Offer 面试题11:数的整数次方(Leetcode50. Pow(x, n))【C库函数pow模拟】题解

面试题:数的整数次方 题目:实现函数double Power(double base, int exponent), 求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。 ...
  • yanglr2010
  • yanglr2010
  • 2016-05-07 00:22:27
  • 2936

剑指offer:数值的整数次方(java)

题目描述: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 幂的情况无非是三种:正数、0和负数。当幂是0的时候,直接返回1;当幂是负...
  • abc7845129630
  • abc7845129630
  • 2016-09-29 13:17:43
  • 179

剑指offer面试题11:数值的整数次方

题目:实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。#include #inclu...
  • rsrh1037
  • rsrh1037
  • 2016-09-07 10:34:16
  • 83

剑指Offer:面试题11 数值的整数次方

/* 数值的整数次方: 实现函数double Power(double base,in exponent),求base得exponent(指数)次方,不得使用库函数,同时不 需要考虑大数问题。 输...
  • qingyuanluofeng
  • qingyuanluofeng
  • 2014-09-08 19:29:24
  • 494
    个人资料
    持之以恒
    等级:
    访问量: 7万+
    积分: 2101
    排名: 2万+
    最新评论