思路:快速幂

demo:a的11次方,11可表示为1011,则可表示为a(2**0+2**1+2**3)

class Solution:
    def myPow(self, x: float, n: int) -> float:
        if n < 0:x,n = 1/x,-n
        res = 1
        while n:
            if n&1: res *= x
            x *= x
            n >>= 1
        return res