কম্পিউটার টিউটোরিয়াল

সংখ্যার অঙ্কের যোগফল প্যালিনড্রোম কিনা চেক - JavaScript

একটি সংখ্যার অঙ্কগুলোর যোগফল বের করে সেটি প্যালিনড্রোম কিনা চেক করা।

উদাহরণ

697 → 6+9+7 = 22 → প্যালিনড্রোম ✓ (true)
123 → 1+2+3 = 6  → প্যালিনড্রোম ✓ (true, এক-অঙ্ক সবসময় প্যালিনড্রোম)
124 → 1+2+4 = 7  → প্যালিনড্রোম ✓
199 → 1+9+9 = 19 → প্যালিনড্রোম ✗ (false)

সমাধান

// ডিজিট যোগফল (রিকার্সিভ)
const sumDigits = (num, sum = 0) => {
  if (num === 0) return sum;
  return sumDigits(Math.floor(num / 10), sum + (num % 10));
};

// প্যালিনড্রোম চেক
const isPalindrome = (num) => {
  const str = String(num);
  return str === str.split('').reverse().join('');
};

// কম্বাইনড
const isSumPalindrome = (num) => isPalindrome(sumDigits(Math.abs(num)));

// টেস্ট
console.log(isSumPalindrome(697));   // true (22)
console.log(isSumPalindrome(123));   // true (6)
console.log(isSumPalindrome(199));   // false (19)
console.log(isSumPalindrome(9999));  // false (36)

ইটেরেটিভ ভার্সন (বेहतर পারফরম্যান্স)

const isSumPalindromeIterative = (num) => {
  num = Math.abs(num);
  let sum = 0;
  
  while (num > 0) {
    sum += num % 10;
    num = Math.floor(num / 10);
  }
  
  const str = String(sum);
  for (let i = 0; i < str.length / 2; i++) {
    if (str[i] !== str[str.length - 1 - i]) return false;
  }
  return true;
};

উৎপাদন

true
  1. জাভাস্ক্রিপ্টে ট্রায়্যাঙ্গুলার নম্বর (Triangular Number) যাচাই করা

  2. জাভাস্ক্রিপ্টে সংখ্যাকে প্যালিনড্রোম বানানোর ধাপ গণনা

  3. প্যালিনড্রোম (Palindrome) নম্বর চেক করার C++ প্রোগ্রাম

  4. পাইথনে সংখ্যা অক্টেলে প্যালিনড্রোম কিনা তা যাচাই করা