ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข n และตัวเลขขอบเขต b ฟังก์ชันควรหาจำนวนเต็มที่มากที่สุด num ที่:
- num หารด้วย divisor ลงตัว
- num น้อยกว่าหรือเท่ากับ bound
- num มากกว่า 0
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const n = 14;
const b = 400;
const biggestDivisible = (n, b) => {
let max = 0;
for (let j = n; j <= b; j++) {
if (j % n == 0 && j > max) {
max = j;
}
}
return max;
};
console.log(biggestDivisible(n, b));
ผลลัพธ์
392
คำอธิบายเพิ่มเติม
หาตัวคูณของ 14 ที่ ≤ 400 และมากที่สุด: 14×28=392 โค้ดวนลูปจาก n ถึง b สามารถคำนวณได้ทันที: `Math.floor(b / n) * n` ซึ่งเป็น O(1)