描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0。不得使用库函数,同时不需要考虑大数问题,也不用考虑小数点后面0的位数。
示例1
输入:
2.00000,3
复制返回值:
8.00000
复制
示例2
输入:
2.10000,3
复制返回值:
9.26100
复制
示例3
输入:
2.00000,-2
复制返回值:
0.25000
复制说明:
2的-2次方等于1/4=0.25
public class Jz12_Power {
@Test
public void test(){
System.out.println(Power(2.0, -3));
}
public double Power(double base, int exponent) {
double ans = 1;
if(exponent < 0){
base = 1/base;
exponent = -exponent;
}
while (exponent > 0) {
if (exponent % 2 == 1) {
ans *= base;
}
exponent /= 2;
base *= base;
}
return ans;
}
}