Created
December 8, 2018 11:10
-
-
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 =
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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