题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0
思路
- 参见下图的快速幂公式,递归求解即可。
Java代码实现
public double Power(double base, int exponent) {
if(exponent == 0)
return 1;
if(exponent == 1)
return base;
double half = Power(base,Math.abs(exponent)/2);
double res = 0;
if(exponent % 2 == 0)
res = half*half;
else
res = half*half*base;
return exponent > 0 ? res : 1/res;
}
网友评论