给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
2的8次方为,2的四次方乘2的四次方。2的四次方为,2的平方乘2的平方。可以递归实现。
class Solution:
def Power(self, base, exponent):
if exponent < 0:
return 1 / self.getPower(base, -exponent)
else:
return self.getPower(base, exponent)
def getPower(self, base, exponent):
if exponent == 0:
return 1
if exponent == 1:
return base
res = self.getPower(base, exponent>>1)
res *= res
if exponent & 1 == 1:
res *= base
return res
最直接的方法也记录一下,就是指数是多少就计算多少次
def getPower(self, base, exponent):
if base == 0:
return 0
elif exponent == 1:
return base
res = 1
for i in range(exponent):
res *= base
return res