【ATT】 Implement pow(x, n)


double helper(double x, unsigned int n) { if(n==1) return x; double result; if(n%2==0) { result = helper(x,n/2); return result*result; }else{ result = helper(x,(n-1)/2); return result*result*x; } } double pow(double x, int n) { // Start typing your C/C++ solution below // DO NOT write int main() function if(n==0) return 1.0; bool bNegative = (n<0)?true:false; if(bNegative) return 1.0/helper(x,abs(n)); else return helper(x,abs(n)); }

  





posted @ 2013-05-26 17:17  summer_zhou  阅读(136)  评论(0)    收藏  举报