gpt4 book ai didi

javascript - Heron 的方法 JavaScript

转载 作者:数据小太阳 更新时间:2023-10-29 05:30:05 25 4
gpt4 key购买 nike

以下代码应该使用 Heron 方法返回平方根。我试图在其中找到一个“错误”,但老实说,我没能发现它。我对“var prevGuess = n”语句有疑问。 “n”如何第一次工作?那是错误吗?“修复”是什么?

谢谢,我现在有点迷茫......

function heronSqrt(n)
{
var DELTA = 1.0E-10;
var nextGuess;
var prevGuess = n;
do
{
nextGuess = (prevGuess + (n/prevGuess))/2;
prevGuess = nextGuess;
} while (nextGuess-prevGuess > DELTA)
return nextGuess;
}

最佳答案

这是一个工作版本:

function heronSqrt(n)
{
var DELTA = 1.0E-10;
var nextGuess = n;
var prevGuess;
do
{
prevGuess = nextGuess;
nextGuess = (prevGuess + (n/prevGuess))/2;
} while (Math.abs(nextGuess-prevGuess) > DELTA)
return nextGuess;
}

有两个问题。首先,您在进行限制检查之前更新了“prevGuess”。其次,您需要检查猜测之间差异的绝对值。我更改了初始化,以便将“nextGuess”初始化为输入值,将更新“prevGuess”移至循环的第一行,并将调用添加到 Math.abs() .

为了使这个适用于更大范围的值,我认为您需要让“DELTA”的值与“n”的大小成正比。如果您对大量数据进行尝试,它可能不会收敛。

关于javascript - Heron 的方法 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18108286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com