简单来说,这种实现类的问题出现的几率很大。那么这里来讲的是一个简单实现 xn=xn/2∗xn/2∗xn%2 .这样的话我们就可以通过计算 xn/2 来进行递归了。
public double myPow(double x,int n){
if(n<0){
return 1/power(x,-n);
}else {
return power(x,n);
}
}
public void power(double x,int n){
if(n==0){
return 1;
}
double temp=power(x,n/2);
if(n%2==0){
return temp*temp;
}else {
return temp*temp*x;
}
}
这应该是最易懂的解法了