Implement pow(x, n).
思路:由公式可知,pow(x,n)=pow(x,n/2)*pow(x,n/2) (n%2==0),pow(x,n)=pow(x,n/2)*pow(x,n/2)*x (n%2!=0),同时注意n小于0的情况
代码:
</pre><pre name="code" class="cpp">class Solution {
public:
double pow(double x, int n) {
if(n==0) return 1;
if(n==1) return x;
int e=n;
if(e<0) e=e*(-1);
double res=pow(x,e/2);
res=res*res;
if(e%2!=0) res=res*x;
if(n<0) return 1.0/res;
return res;
}
};