分析
2开根号,值在1.4-1.5之间,在一个有序区间内搜索某个满足条件的值,自然想到可以二分法
def sqrt_2():
'''
二分法对2开根号,精确到小数点后10位
'''
low, high = 1.4, 1.5
while(low < high):
mid = (low + high) / 2
t = mid ** 2 - 2
if abs(t) <= 0.0000000001:
return mid
elif t < 0:
low = mid
else:
high = mid
print(sqrt_2())
'''
1.4142135623842478
'''
更一般的对某一个常数C开根号,可以用牛顿迭代法,给定正数C,应用牛顿迭代法解二次方程 x 2 − C = 0 x^2-C=0 x2−C=0,根据牛顿迭代法公式 x