实现 pow(x, n) ,即计算 x
的 n
次幂函数(即,xn
)。
例:
输入:x = 2.00000, n = 10 输出:1024.00000
解析:
2的8次方是2*2*2*2*2*2*2*2,4*4*4*4,16*16,256。
class Solution(object):
def myPow(self, x, n):
"""
:type x: float
:type n: int
:rtype: float
"""
i = n # 次数
if i < 0:
i = -i # 指数为负数时转正
res = 1 # 初始化结果
while i != 0: # 循环条件
if i % 2 != 0: # 次数为奇数时
res *= x # 先乘一个变为偶数
x *= x # 乘数平方,为了下一次计算
i = i // 2
return res if n > 0 else 1 / res # 指数为正负的区别