码迷,mamicode.com
首页 > 其他好文 > 详细

50-Pow(x,n)

时间:2019-08-18 21:31:24      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:奇数   分治   not   turn   直接   大于   偶数   题目   倒数   

题目:求x的n次方

def myPow(x,n):
    if not n:
        return 1
    if n<0:
        return 1 / myPow(x,-n)
    if n % 2:
        return x*myPow(x,n-1)
    return myPow(x*x,n//2)

注:

如果n为0,直接返回1;

如果n小于0,则n取相反数求-n次幂之后,取倒数;

如果n大于0,采用分治的方法,如果n为奇数,转为n-1次方乘以x,如果n为偶数,计算x1/2,然后平方。

50-Pow(x,n)

标签:奇数   分治   not   turn   直接   大于   偶数   题目   倒数   

原文地址:https://www.cnblogs.com/kingshine007/p/11373921.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!