เราจำเป็นต้องเขียนฟังก์ชัน 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