剑指offer 11 数值的整数次方

来源:互联网 发布:python hex to ascii 编辑:程序博客网 时间:2024/05/21 08:45

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

思路:


注意负数除以2的时候要特别处理。

class Solution:    def Power(self, base, exponent):        # write code here        if base == 0:            return 0        if exponent == 0:            return 1        if exponent == 1:            return base        if exponent == -1:            return 1 / base        res = self.Power(base, abs(exponent) / exponent * (abs(exponent) >> 1))        res *= res        if exponent > 0 and exponent & 1 == 1:            res *= base        if exponent < 0 and exponent & 1 == 1:            res *= (1 / base)        return res


原创粉丝点击