โจทย์
หาความต่างของผลรวมหลักตำแหน่งคู่และคี่ (absolute difference)
ตัวอย่างโค้ด
const num = 345336;
const evenOddDifference = (num, res = 0, ind = 0) => {
if(num){
if(ind % 2 === 0){
res += num % 10;
}else{
res -= num % 10;
};
};
return Math.abs(res);
};
console.log(evenOddDifference(num));
ผลลัพธ์
2
คำอธิบาย
Recursive function วนจากหลักหน่วย (index 0 = odd position)
index even (0,2,4...) → บวก (odd position จากขวา)
index odd (1,3,5...) → ลบ (even position จากขวา)
345336: digits จากขวา 6,3,3,5,4,3
Odd pos (0,2,4): 6+3+4=13
Even pos (1,3,5): 3+5+3=11
Diff = |13-11| = 2