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);
}
}
// Function to find the square root of n
const findSqrt = num => {
let i = 1;
const found = false;
while (!found){
// If n is a perfect square
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)); 코드 이해
우리는 i =1에서 반복했습니다. i * i =n이면 n은 제곱근이 I인 완전 제곱이므로 i를 반환하고, 그렇지 않으면 i * i가 n보다 큰 가장 작은 i를 찾습니다.피>
이제 우리는 n의 제곱근이 i – 1과 i 구간에 있다는 것을 압니다.
그런 다음 이진 검색 알고리즘을 사용하여 제곱근을 찾았습니다.
출력
콘솔의 출력은 -
5.744562149047852