Skip to content

Instantly share code, notes, and snippets.

@qiaoxu123
Created December 8, 2018 11:10
Show Gist options
  • Save qiaoxu123/9a8ab81e32d33b5b0a38f1420d0fdd4f to your computer and use it in GitHub Desktop.
Save qiaoxu123/9a8ab81e32d33b5b0a38f1420d0fdd4f to your computer and use it in GitHub Desktop.
Implement pow(x, n), which calculates x raised to the power n (xn). ``` Example 1: Input: 2.00000, 10 Output: 1024.00000 ``` ``` Example 2: Input: 2.10000, 3 Output: 9.26100 ``` ``` Example 3: Input: 2.00000, -2 Output: 0.25000 Explanation: 2-2 =
class Solution {
public:
double myPow(double x, int n) {
double ans = 1;
unsigned long long p;
if (n < 0) {
p = -n;
x = 1 / x;
}
else
p = n;
while (p) {
if (p & 1)
ans *= x;
x *= x;
p >>= 1;
}
return ans;
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment