22 lines
567 B
Python
22 lines
567 B
Python
|
class py_solution:
|
||
|
def pow(self, x, n):
|
||
|
if x==0 or x==1 or n==1:
|
||
|
return x
|
||
|
|
||
|
if x==-1:
|
||
|
if n%2 ==0:
|
||
|
return 1
|
||
|
else:
|
||
|
return -1
|
||
|
if n==0:
|
||
|
return 1
|
||
|
if n<0:
|
||
|
return 1/self.pow(x,-n)
|
||
|
val = self.pow(x,n//2)
|
||
|
if n%2 ==0:
|
||
|
return val*val
|
||
|
return val*val*x
|
||
|
|
||
|
print(py_solution().pow(2, -3));
|
||
|
print(py_solution().pow(3, 5));
|
||
|
print(py_solution().pow(100, 0));
|