JavaScript 中不使用 Math.sqrt() 的平方根函数
javascriptweb developmentfront end technologyobject oriented programming更新于 2026/2/9 1:16:17
我们需要编写一个 JavaScript 函数,该函数接受一个数字并计算其平方根,而不使用 Math.sqrt() 函数。
因此,让我们编写该函数的代码 −
示例
其代码为 −
const square = (n, i, j) => {
let mid = (i + j) / 2;
let mul = mid * mid;
if ((mul === n) || (Math.abs(mul - n) < 0.00001)){
return mid;
}else if (mul < n){
return square(n, mid, j);
}else{
return square(n, i, mid);
}
}
// 函数求 n 的平方根
const findSqrt = num => {
let i = 1;
const found = false;
while (!found){
// 如果 n 是完全平方数
if (i * i === num){
return i;
}else if (i * i > num){
let res = square(num, i - 1, i) ;
返回 res;
};
i++;
}
}
console.log(findSqrt(33));
理解代码
我们从 i = 1 开始循环。如果 i * i = n,则返回 i,因为 n 是平方根为 I 的完全平方数,否则我们找到最小的 i,使 i * i 刚好大于 n。
现在我们知道 n 的平方根位于区间 i – 1 和 i 内。
然后我们使用二分搜索算法来寻找平方根。
输出
控制台中的输出将是 −
5.744562149047852
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

