题目描述
给定一个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));
}
}