Implement pow(x, n).
Example 1:
Input: 2.00000, 10 Output: 1024.00000
Example 2:
Input: 2.10000, 3 Output: 9.26100
class Solution {
public:
double myPow(double x, int n) {
double res = 0;
if (n == 0) {
return 1;
}
if (n == 1) {
return x;
}
if (n > 0) {
if (n % 2 == 0) {
return myPow(x * x, n / 2);
}
else {
return x * myPow(x * x, n / 2);
}
}
else {
return 1 / x * myPow(1 / x, -(n + 1));
}
}
};
在做这种数学运算的时候,始终都要考虑到整数的最小数变为正数的溢出问题。(18/01/13)