题目:
实现函数double Power (double base, int exponent) ,求 base 的exponent次方,不得使用库函数,不用考虑大数问题。
分析一:
代码一:
package offer.xzs.sixteenth;
public class Demo01 {
public static void main(String[] args) {
double power = getPower(2, 10);
System.out.println(power);
}
public static double getPower(double base, int exponent) {
if (exponent == 0) {
return 1;
}
if (exponent == 1) {
return base;
}
boolean flag = false;
if (exponent < 0) {
exponent = -exponent;
flag = true;
}
double result = getPower(base * base, exponent / 2);
if (exponent % 2 != 0) {
result = result * base;
}
if (flag) {
return 1 / result;
} else {
return result;
}
}
}