第3章:自定义pow函数
blog.csdn.net/weixin_4404…
public double Power(double base, int exponent) {
if(exponent<0) return 1/Pow( base, -exponent);
return Pow( base, exponent);
}
public double Pow(double base, int exponent) {
if(base==0) return 0;
if(exponent==0) return 1;
if(exponent==1) return base;
double res = Power( base, exponent/2);
if((exponent&1)==1) return res*res*base;
return res*res;
}
public double Power(double base, int exponent) {
if(exponent==0) return 1;
if(exponent==1) return base;
if(exponent==-1) return 1/base;
double half=Power(base,exponent/2);
double rest=Power(base,exponent%2);
return half*half*rest;
}