ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข num เป็นอาร์กิวเมนต์เดียว
ฟังก์ชันควรคืนค่า true หากผลรวมของหลักของตัวเลข num เป็นตัวเลขพาลินโดรม (palindrome) และคืนค่า false ในกรณีอื่น
ตัวอย่างเช่น หากอินพุตคือ
const num = 781296;
ผลลัพธ์ควรเป็น
const output = true;
คำอธิบายผลลัพธ์
เพราะผลรวมหลักของ 781296 คือ 33 ซึ่งเป็นตัวเลขพาลินโดรม
ตัวอย่างโค้ด
const num = 781296;
const findSum = (num, sum = 0) => {
if (num) {
return findSum(Math.floor(num / 10), sum + (num % 10));
}
return sum;
};
const palindromeDigitSum = (num = 1) => {
const sum = findSum(num);
const str = String(sum);
const arr = str.split('');
const reversed = arr.reverse();
const revNum = +arr.join('');
return revNum === sum;
};
console.log(palindromeDigitSum(num));
ผลลัพธ์
true