ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับช่วงสองจำนวนเต็มเป็นอาร์กิวเมนต์แรก และตัวเลขเป็นอาร์กิวเมนต์ที่สอง ฟังก์ชันควรหาตัวเลขทั้งหมดที่หารด้วยตัวเลขอินพุตลงตัวในช่วงที่กำหนดและคืนค่าจำนวนของพวกเขา
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const range = [6, 57];
const num = 3;
const findDivisibleCount = (num = 1, [l, h]) => {
let count = 0;
for (let i = l; i <= h; i++) {
if (i % num === 0) {
count++;
}
}
return count;
};
console.log(findDivisibleCount(num, range));
ผลลัพธ์
18
คำอธิบายเพิ่มเติม
นับตัวเลขใน [6,57] ที่หาร 3 ลงตัว: 6,9,12,...,57 → (57-6)/3 + 1 = 18 ตัว สามารถคำนวณ O(1) ได้: `Math.floor(h/num) - Math.ceil(l/num) + 1`