class Solution {
public:
double pow(double x, int n) {//分治法
double result;
if(n<0)
{
x=1/x;
n=-1*n;
}
if(n==0)
return 1;
if(n==1)
return x;
result=pow(x,n/2);
return result*result*pow(x,n%2);
//return pow(x,n/2)*pow(x,n/2)*pow(x,n%2);//采用这个方式会超时,没有充分利用之前的计算结果
}
};