50.Pow(x,n)
实现 pow(x, n) ,即计算 x
的整数 n
次幂函数(即,xn
)。
示例 1:
输入:x = 2.00000, n = 10 输出:1024.00000
示例 2:
输入:x = 2.10000, n = 3 输出:9.26100
示例 3:
输入:x = 2.00000, n = -2 输出:0.25000 解释:2-2 = 1/22 = 1/4 = 0.25
提示:
-100.0 < x < 100.0
-231 <= n <= 231-1
n
是一个整数- 要么
x
不为零,要么n > 0
。 -104 <= xn <= 104
class Solution:
def myPow(self, x: float, n: int) -> float:
result = 1
if x == 1:
return 1
if x == -1:
if n % 2 == 1:
return -1
else:
return 1
if n > 0:
for i in range(n):
result *= x
if result == 0:
return 0
elif n < 0:
for i in range(abs(n)):
result /= x
if result == 0:
return 0
return result
class Solution:
def myPow(self, x: float, n: int) -> float:
if n == 0:
return 1
if n < 0:
n = abs(n)
x = 1 / x
a, y = [], x
while n != 1:
if n % 2 == 0:
n = n / 2
a.append(0)
else:
n = int(n / 2)
a.append(1)
a.reverse()
for i in a:
if i == 0:
y = y**2
else:
y = y**2
y = y * x
return y