ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่มีตัวเลข n ฟังก์ชันของเราควรหาจำนวนดังกล่าวทั้งหมด x และ y ที่ -
x^2 - 4y^2 = n.
และควรคืนค่าอาร์เรย์ของคู่ดังกล่าวทั้งหมด
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const num = 90005; const findSolution = (num = 1) => { const res = []; let a, b; for(let a = 1; a <= Math.sqrt(num); a++){ if(Number.isInteger(b = num/a)){ if(Number.isInteger(x = (b+a)/2)){ if(Number.isInteger(y = (b-a)/4)){ res.push([x, y]); }; }; }; }; return res; }; console.log(findSolution(num));
ผลลัพธ์
[ [ 45003, 22501 ], [ 9003, 4499 ], [ 981, 467 ], [ 309, 37 ] ]