เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับจำนวนเต็มที่ไม่เป็นลบและคำนวณและส่งคืนรากที่สอง เราสามารถกรอเลขทศนิยมให้เป็นจำนวนเต็มได้
ตัวอย่างเช่น สำหรับตัวเลข 15 เราไม่จำเป็นต้องคืนค่าที่แม่นยำ เราก็แค่คืนค่าจำนวนเต็มที่น้อยกว่าที่ใกล้ที่สุดซึ่งจะเป็น 3 ในกรณีของ 15
เราจะใช้อัลกอริธึมการค้นหาแบบไบนารีเพื่อสนทนากับรากที่สองของตัวเลขที่ระบุ
รหัสสำหรับสิ่งนี้จะเป็น −
ตัวอย่าง
const squareRoot = (num = 1) => {
let l = 0; let r = num; while(l <= r) {
const mid = Math.floor((l + r) / 2);
if(mid ** 2 === num){ return mid;
}else if(mid ** 2 > num){
r = mid - 1;
}
else{ l = mid + 1;
};
};
return r; };
console.log(squareRoot(4));
console.log(squareRoot(729));
console.log(squareRoot(15));
console.log(squareRoot(54435)); ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
2 27 3 233