- 题目:实现函数double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。
解题思路:
代码如下:
public class Power {
public static Double powerWithUnsignedExponent(double base,int exponent){
if (exponent==0){
return 1.0;
}
if (exponent==1){
return base;
}
Double result = powerWithUnsignedExponent(base, exponent >> 1);
result *=result;
if ((exponent&0x1)==1){
result*=base;
}
return result;
}
public static void main(String[] args) {
System.out.println(powerWithUnsignedExponent(2,3));
}
}
github地址:https://github.com/iot-wangshuyu/offer/blob/master/code/src/Power.java