佚名通过本文主要向大家介绍了二分法求平方根,二分地是多少平方,二分地等于多少平方米,二分之根号二的平方,二分之根号三的平方等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:请问这个利用二分法计算平方根哪里有错了呢?
描述:
解决方案1:
描述:
def square_root_2():
i = 0
c= 10
m_max = c
m_min = 0
g = (m_min + m_max)/2
while (abs(g*g-c) > 0.001): #精度设为为0.001
if (g*g < c):
m_min = g
else:
m_max = g
g = (m_min+m_max)/2
i = i + 1
print ("%d:%.5f" % (i,g)) #小数点后取5位
square_root_2()
运行倒是可以的,但是一直是无限循环的情况,哪里不对呢?
解决方案1:
问题出现在这个地方:g = (m_min + m_max) / 2,m_min、m_max都为整数其和也为整数,两个整数相除,结果为整数。修改为下面即可:
g = (m_min+m_max) / 2.0