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

ตรวจสอบผลรวมหลักตัวเลขเป็นพาลินโดรม - JavaScript

หาผลรวมหลักของตัวเลข แล้วตรวจสอบว่าผลรวมนั้นเป็นพาลินโดรม (อ่านตรง-ย้อนเหมือนกัน) หรือไม่

ตัวอย่าง

697 → 6+9+7 = 22 → 22 เป็นพาลินโดรม → true

ตัวอย่างโค้ด

const num = 697;

const sumDigit = (num, sum = 0) => {
  if (num) return sumDigit(Math.floor(num / 10), sum + (num % 10));
  return sum;
};

const isPalindrome = num => {
  const reversed = +String(num).split('').reverse().join('');
  return reversed === num;
};

const isSumPalindrome = num => isPalindrome(sumDigit(num));

console.log(isSumPalindrome(num));

ผลลัพธ์

true

วิธีแบบ Iterative (ไม่ใช้ Recursion)

const sumDigit = num => 
  String(num).split('').reduce((a, b) => a + +b, 0);

const isPalindrome = num => 
  String(num) === String(num).split('').reverse().join('');

หลีกเลี่ยง Stack Overflow สำหรับตัวเลขที่มีหลักมาก