请帮我编写一个函数,使用公式计算正实数的平方根:
x i+1 = (1/2) * (xi + (A / x1)),
Run Code Online (Sandbox Code Playgroud)
其中'A' - 输入实数.
在零次迭代时,已经采用了下一个语句x0 = A该错误应该至少为10-6
产量
sqrt (2) = 1.414
sqrt (9) = 3
sqrt (25) = 5
Run Code Online (Sandbox Code Playgroud)
您可以使用x i(x)和x i + 1(x1)的新值并检查值是否相等.然后结束该系列并返回该值.
要开始,您需要一个类似于给定值的一半的apporopriate值.
function sqrt(a) {
var x,
x1 = a / 2;
do {
x = x1;
x1 = (x + (a / x)) / 2;
} while (x !== x1);
return x;
}
console.log(sqrt (2)); // 1.414
console.log(sqrt (9)); // 3
console.log(sqrt (25)); // 5Run Code Online (Sandbox Code Playgroud)