Oddish Number: ผลรวมหลักเป็นเลขคี่ | Evenish Number: ผลรวมหลักเป็นเลขคู่
ตัวอย่างโค้ด (Recursive)
const isOddish = (num, sum = 0) => {
if (num) return isOddish(Math.floor(num / 10), sum + (num % 10));
return sum % 2 === 1;
};
console.log(isOddish(434667));
ผลลัพธ์
false
คำนวณ
4+3+4+6+6+7 = 30 (Even) → Evenish → false
วิธีแบบ Iterative (ไม่ใช้ Recursion)
const isOddish = num => {
const sum = String(Math.abs(num)).split('').reduce((a, b) => a + +b, 0);
return sum % 2 === 1;
};
ใช้ Math.abs รองรับเลขลบ, reduce รวมผลรวมหลัก