数值的整数次方

2022-05-13 09:36:32 浏览数 (1)

题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0

思想:

主要是这个正数exponent有正负两种可能

方法一: 简单版-有作弊嫌疑,用了库函数--时间复杂度O(N)

代码语言:javascript复制
    public double Power(double base, int exponent) {
        double  result=1;
        for(int i=0;i<Math.abs(exponent);i  ){
            result*=base;
        }
        if(exponent<0){
            result=1/result;
        }
        return result;
  }

方法二 :

代码语言:javascript复制
public static double Power(double base, int exponent) {
      double res = 1.0;
        if (base == 0)
            return 0;
        if (exponent == 0)
            return 1;
        if (exponent < 0)
            base = 1.0 / base;
        while (exponent!=0){
            res *= base;
            exponent = (exponent>0) ? (--exponent) : (  exponent);
        }
        return res;
    }

0 人点赞