第3章:自定义pow函数

338 阅读1分钟

第3章:自定义pow函数

blog.csdn.net/weixin_4404…

  • 1. 代码一
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;
}
    
  • 2. 代码二
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;
}