题目大意:给出一个浮点数x和一个整数n,求出x^n.
算法思想:
1.如果n<0 则求1.0/x^n
2.分治法:x^n=x^n/2*x^n/2*x^n%2
代码如下:
class Solution {
public:
double myPow(double x, int n) {
if(n<0) return 1.0/power(x,-n);
return power(x,n);
}
private:
double power(double x,int n){
if(n==0) return 1;
double tmp=power(x,n/2);
if(n%2==0) return tmp*tmp;
return tmp*tmp*x;
}
};