Pow(x, n),计算(x^n)
以下是C++代码
class Solution {
public:
double pow(double x, int n) {
// 四种不需要计算的情况
if (n == 0||x==1){ return 1; }
if (x == -1){
if (n % 2 == 0)
return 1;
else
return -1;}
if (n == 1) return x;
// 减少不必要的重复计算
if (n < 0){
return 1/pow(x, -n); }
else{
if (n % 2 == 0){
double res = pow(x, n / 2);
return res*res;
}
else{
double res = pow(x, (n - 1) / 2);
return res*res*x;
}
}
}
};