12. 代码的完整性-数值的整数次方

题目描述

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


/**
 * Created by ZengXihong 2019-06-10.
 * 题目描述
 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
 */
public class Solution12 {
    /**
     * 求 base^ exponent
     * 1. exponent >0
     * 2. exponent <0  结果为 exponent >0 的倒数
     * 3. exponent =0 结果为 1
     * 故实际计算为 exponent >0 的情况
     * 而 base^ exponent  等于 exponent 个 base 的乘积

     */
    public static double Power(double base, int exponent) {
        //结果值,初始化为 1
       double result =1 ;
       // 判断exponent,如果小于 0 取相反数
       int ex = exponent<0 ? -exponent :exponent;
       // ex 个 base 相乘
            for (int i=1 ;i<=ex;i++) {
                result *= base;
            }
        //exponent,如果小于 0 结果取相倒数
        return exponent>=0?result:1/result;
    }

    // Math 的 pow 方法
    public static double Power2(double base, int exponent) {
        return Math.pow(base,exponent);
    }

    public static void main(String[] args) {
        System.out.println(Power(2,-3));
        System.out.println(Power2(2,-3));
    }

}

你可能感兴趣的:(12. 代码的完整性-数值的整数次方)