x的n次幂
递归法:
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) //为奇数则多成一个x
return (temp*temp)*x;
else
return (temp*temp);
}
double myPow(double x, int n) {
// write your code here
double tmp=x;
if(n==0)
return 1;
if(n>32||n<-32)
return 0.0;
if(n<0)
return 1/createPow(x,-n);
else
return createPow(x,n);
}
};