Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การตรวจสอบตัวเลขพิเศษใน JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน 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