題目描述
給定一個double類型的浮點數base和int類型的整數exponent。求base的exponent次方。
保證base和exponent不同時爲0
public class Power_12 {
public double Power(double base, int exponent) {
//x^-2可以轉換成(1/x)^2
if (exponent < 0){
base = 1/base;
exponent = -exponent;
}
if (exponent == 0)
return 1;
if (exponent == 1)
return base;
double result = Power(base, exponent>>1);
result *= result;
if ((exponent & 1) != 0) {
result *= base;
}
return result;
}
public static void main(String[] args) {
Power_12 p = new Power_12();
double b = p.Power(2,-2);
System.out.println(b);
}
}