ในระบบเลขฐานสิบ Ugly numbers คือจำนวนเต็มบวกที่ตัวประกอบเฉพาะมีเพียง 2, 3 หรือ 5 เท่านั้น
เช่น จำนวนเต็ม 1 ถึง 10 ล้วนเป็น Ugly numbers, 12 ก็เป็น Ugly number เช่นกัน
งานของเราคือเขียนฟังก์ชัน JavaScript ที่รับตัวเลขและกำหนดว่ามันเป็น Ugly number หรือไม่
มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน
ตัวอย่าง
const num = 274;
const isUgly = num => {
while(num !== 1){
if(num % 2 === 0){
num /= 2;
} else if(num % 3 === 0) {
num /= 3;
} else if(num % 5 === 0) {
num /= 5;
} else {
return false;
};
};
return true;
};
console.log(isUgly(num));
console.log(isUgly(60));
console.log(isUgly(140));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้
false true false