https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/solution/c2chong-fen-zhi-jie-fa-er-fen-jie-fa-by-a58u1/
//暴力法,超时
class Solution {
public:
double myPow(double x, int n) {
double res=1;
if(n>0){
for(int i=1;i<=n;i++){
res*=x;
}
}else if(n<0){
for(int i=1;i<=abs(n);i++){
res*=(1/x);
}
}else{
return 1;
}
return res;
}
};
//递归
class Solution {
public:
double myPow(double x, long n) { // 修改位置
if (!n) return 1;
if (n < 0) n = -n, x = 1 / x;
return n & 1 ? x * myPow(x * x, n >> 1) : myPow(x * x, n >> 1);
}
};
//迭代
class Solution {
public:
double myPow(double x, long n) {
if (!n) return 1;
if (n < 0) n = -n, x = 1 / x;
double result = 1;
while (n) {
if (n & 1) result *= x;
x *= x, n >>= 1;
}
return result;
}
};
class Solution{
public:
double myPow(double x,int n){
if(x==0)return 0;
long b=n;
double res=1.0;
if(b<0){
b=-b;
x=1/x;
}
while(b>0){
if(b&1)res*=x;
x*=x;
b>>=1;
}
return res;
}
};