题意
实现 pow (x,n)
注意事项
不用担心精度,当答案和标准输出差绝对值小于 1e-3
时都算正确
样例
Pow(2.1, 3) = 9.261
Pow(0, 1) = 0
Pow(1, 0) = 1
复制代码
思路
从数学上来说,(x)的4次方
等于 (x的平方)的平方
。我们使用这个思想来做这道题就行了。
其实就和把十进制数转成二进制的思想是一样的。
需要注意的地方是,n 可能为负数。
代码
class Solution:
"""
@param: x: the base number
@param: n: the power number
@return: the result
"""
def myPow(self, x, n):
if n == 0:
return 1
if x == 0:
return 0
t = x
if n < 0:
t = 1 / t
n = -n
ans = 1
while n != 0:
if n % 2 != 0:
ans *= t
t *= t
n = int(n / 2)
return ans
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END