เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข เช่น n ฟังก์ชันควรค้นหาและส่งกลับจำนวนที่น้อยที่สุดที่เป็นไปได้ซึ่งหารด้วยตัวเลขทั้งหมดตั้งแต่ 1 ถึง n ลงตัวพอดี
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const smallestDivisible = (num) => {
let i, n = 1;
const largestPower = (n, num) => {
let p, e = 2, largest = n;
while ((p = Math.pow(n, e)) <= num) {
largest = p;
e += 1;
}
return largest;
}
const isPrime = n => {
let i, num = Math.ceil(Math.sqrt(n));
for (i = 3; i <= num; i += 2) {
if (n % i === 0) {
return false;
}
}
return true;
}
for (i = 3; i <= num; i += 2) {
if (isPrime(i)) {
n *= largestPower(i, num);
}
}
return n * largestPower(2, num);
}
console.log(smallestDivisible(20)); ผลลัพธ์
ต่อไปนี้เป็นผลลัพธ์บนคอนโซล -
232792560