在不使用库函数的情况下查找数字的平方根-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。然后,我们使用二进制搜索算法来找到平方根。

以上是 在不使用库函数的情况下查找数字的平方根-JavaScript 的全部内容, 来源链接: utcz.com/z/335184.html

回到顶部