您的位置:首页 > 编程语言 > Go语言

Leetcode No.50: Pow(x, n)

2015-05-15 21:24 309 查看
Problem:

Implement pow(x, n).

想法是是利用二分法,先算出xi,i≤n, 剩下的递归求解。

__author__ = 'burger'

class Solution:
# @param {float} x
# @param {integer} n
# @return {float}
def myPow(self, x, n):
if n == 0: return 1
if x == 0: return 0
if n < 0: return 1/self.myPow(x,-n)

i = 1
tmp = x
while n > i*2:
tmp *= tmp
i *= 2
return tmp * self.myPow(x, n - i)

if __name__ == '__main__':
s = Solution()
print(s.myPow(34.00515, -3))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode binary algorithm