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,然后平方。

浙公网安备 33010602011771号