Implement `pow(x, n)`, which calculates `x` raised to the power `n` (i.e., `x^n`). **Example 1:** Input: `x = 2.00000, n = 10` Output: `1024.00000` **Example 2:** Input: `x = 2.10000, n = 3` Output: `9.26100` **Example 3:** Input: `x = 2.00000, n = -2` Output: `0.25000` Explanation: `2^(-2) = 1/2^2 = 1/4 = 0.25`
Binary Exponentiation / Fast Power
A naive linear approach (multiplying `x` n times) is O(n), but we can do it in O(log n) by squaring the base at each step. If `n` is even, `x^n = (x^2)^(n/2)`. If `n` is odd, `x^n = x * (x^2)^(n/2)`.