50-Pow(x,n)

题目:求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,然后平方。

猜你喜欢

转载自www.cnblogs.com/kingshine007/p/11373921.html