Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm căn bậc hai của một số mà không cần sử dụng Math.sqrt () trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một số nguyên dương làm đối số duy nhất. Hàm sẽ tìm và trả về căn bậc hai của số được cung cấp làm đầu vào.

Ví dụ

Sau đây là mã -

const squareRoot = (num, precision = 0) => {
   if (num <= 0) {
      return 0;
   };
   let res = 1;
   const deviation = 1 / (10 ** precision);
   while (Math.abs(num - (res ** 2)) > deviation) {
      res -= ((res ** 2) - num) / (2 * res);
   };
   return Math.round(res * (10 ** precision)) / (10 ** precision);
};
console.log(squareRoot(16));
console.log(squareRoot(161, 3));
console.log(squareRoot(1611, 4));

Đầu ra

Sau đây là kết quả trên bảng điều khiển -

4
12.689
40.1373