在不使用库函数的情况下查找数字的平方根-JavaScript
我们需要编写一个不带Math.sqrt()函数的,接受数字并计算其平方根的JavaScript函数。
示例
以下是代码-
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);
return res;
};
i++;
}
}
console.log(findSqrt(33));输出结果
这将在控制台中产生以下输出-
5.744562149047852
了解代码
我们从i=1循环过来。
如果i*i=n,则返回i,因为n是一个平方根为i的理想平方,否则我们找到i*i刚好大于n的最小i。
现在我们知道n的平方根位于区间i–1和i。然后,我们使用二进制搜索算法来找到平方根。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短