求一个数的平方根的算法

2024-04-23 18:25:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在python上创建了一个算法来寻找一个数字的近似平方根,但是我很想看看是否有什么捷径可以走。我有一个while循环,需要在循环之前回调一个语句。例如,它从2开始,到6,然后循环回1,到6,回到1,等等。我尝试使用一个I变量,但不确定它是否是最有效的。所以基本上谁能帮我提高算法的效率,谢谢。你知道吗

def rooter(A , R):
i = 0
if A <= 0:
    print("Invalid number")
    return -1
(c) = (A / R)
while abs(R - c) > 0.01:
    if i > 1:
        (c) = (A / R)
    s = (1/2) * (R + c)
    R = s
    i +=1
answer = (round(R, 3))
print(answer)

rooter(4, 100)

R表示计算的精度。你知道吗


Tags: answer算法numberreturnifdef数字abs
1条回答
网友
1楼 · 发布于 2024-04-23 18:25:40

您可以通过模拟do ... while来简化代码

while True:
    c = A / R
    R = (R + c)/2
    if abs(R - c) < 0.01: break

请注意,计算的精度是0.01,而不是您所说的R。你知道吗

相关问题 更多 >