标签:
1 : 2 Implement pow(x, n). 3 4 class Solution { 5 public: 6 double pow(double x, int n) { 7 8 //显然我们应该用类似于分治的算法pow(double x, int n) = pow(double x, n/2) * pow(double x , n/2); 9 if(n == 0) 10 return 1; 11 double temp = pow(x, n/2);//一开始的时候这边定义成float 和定义成int 的时候都是wrong , 当定义成double 的时候才accepted 12 if(n%2 == 0)//当为偶数的时候, 刚好可以够分成两半 13 { 14 return temp * temp; 15 } 16 else{ 17 if(n > 0) 18 { 19 return temp * temp * x; 20 } 21 else return (temp * temp) / x; 22 } 23 } 24 25 };
标签:
原文地址:http://www.cnblogs.com/clm-beigong/p/4204852.html