求一个数的平方根,用牛顿迭代法实现。
def p(x):
pre,res=0.0,1.0
while abs(pre-res)>0.00001:
pre=res
res=(res+x/res)/2
return res
求一个数的n次方,时间复杂度为O(logn)
def power(x,n):
if not n:
return 1
p=power(x,n//2)
if not n%2:
return p*p
if n>0:
return p*p*x
return p*p/x