pow(x,n)

 1 class Solution {
 2 public:
 3     
 4     double pow(double x, int n) {
 5         // Start typing your C/C++ solution below
 6         // DO NOT write int main() function 
 7         if( abs(x-1) == 0 || (abs(x+1) ==0 && n%2 == 0)) return 1.00000;
 8         if( abs(x+1) == 0 && n%2 == 1) return -1.00000;
 9         if( n == 0 ) return 1;
10         if( n < 0 ) return 1/pow(x, abs(n));
11         if( n%2 == 0 ){ double t = pow(x, n/2); return t*t;}  
12         if( n%2 == 1 ) { double t = pow(x, n/2); return t*t*x; }
13     }
14 };

 

posted on 2013-09-08 10:46  jumping_grass  阅读(137)  评论(0)    收藏  举报

导航