题目
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
思路
分治
代码
# -*- coding:utf-8 -*-
class Solution:
def Power(self, base, exponent):
# write code here
if exponent == 0:
return 1
elif exponent > 0:
if exponent == 1:
return base
num = self.Power(base, exponent / 2)
if exponent % 2 != 0:
return base * num * num
else:
return num * num
else:
if exponent == -1:
return 1 / base
num = self.Power(base, -exponent / 2)
if exponent % 2 != 0:
return 1 / (base * num * num)
else:
return 1 / (num * num)