เลข Pronic คือเลขที่เป็นผลคูณของจำนวนเต็มสองจำนวนที่ติดกัน คือ n × (n + 1) เช่น 2 (1×2), 6 (2×3), 12 (3×4), 20 (4×5)
ตัวอย่างโค้ด
const num = 90;
const isPronic = num => {
let nearestSqrt = Math.floor(Math.sqrt(num)) - 1;
while (nearestSqrt * (nearestSqrt + 1) <= num) {
if (nearestSqrt * (nearestSqrt + 1) === num) {
return true;
}
nearestSqrt++;
}
return false;
};
console.log(isPronic(num));
ผลลัพธ์
true
คำอธิบายอัลกอริทึม
- หาค่ารากที่สองของตัวเลข แล้วลบ 1 เพื่อได้จุดเริ่มต้นประมาณ
- ลูปตรวจสอบว่า
n × (n + 1)เท่ากับตัวเลขเป้าหมายหรือไม่ - ถ้าเกินกว่าตัวเลขเป้าหมายแล้ว ให้คืนค่า false
ประโยชน์: เลข Pronic ใช้ในคณิตศาสตร์การจัดหมู่ (combinatorics) และเรขาคณิต