幂函数的一次算法改进

实现浮点类型的幂运算,函数原型为:
double pow(double x,int n);

function pow(x,n){
 if(n==0){return 1.0;}
 if(n<0) {return 1.0/(pow(x,-n);}
 if(n>0) {return x*pow(x,n-1);}
}


double pow(double x,int n){
 if(n==0){return 1;}
 if(n<0){return 1.0/(pow(x,-n);}
 if(n>0){
half=pow(x,n>>1);
     if(n%2==0){return half * half;}
     if(n%2!=0){return half * half * n;}
 }
}



你可能感兴趣的:(算法学习)