class Solution {
public:
/**
* @param x the base number
* @param n the power number
* @return the result
*/
double createPow(double x,int n){
if(n==1)
return x;
double temp=createPow(x,n/2);
if(n&1)
return (temp*temp)*x;
else
return (temp*temp);
}
double myPow(double x, int n) {
// Write your code here
if(x==0&&n<0)
return 0;
if(n==0)
return 1.0;
if(n<0)
return 1/createPow(x,-n);
else
return createPow(x,n);
}
};
class Solution {
public:
/**
* @param x the base number
* @param n the power number
* @return the result
*/
double myPow(double x, int n) {
// Write your code here
if(n==0)
return 1;
double count=1;
int m=n;
if(n<0)
m=-n;
while(m){
if(m&1)
count*=x;
x*=x;
m>>=1;
}
if(n<0)
return 1/count;
else
return count;
}
};