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

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


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যা num প্রথম ও একমাত্র আর্গুমেন্ট হিসেবে নেবে।

ফাংশনটি প্যালিনড্রোম পাওয়ার জন্য কতগুলো বিশেষ ধাপ লাগে তা ফেরত দেবে। বিশেষ ধাপটি হল: "অঙ্কগুলো উল্টে দিয়ে মূল সংখ্যার সাথে যোগ করা"। যদি ফলাফল প্যালিনড্রোম না হয়, তবে যোগফলের সাথে প্রক্রিয়া টি পুনরাবৃত্তি করতে হবে যতক্ষণ না প্যালিনড্রোম পাওয়া যায়।

উদাহরণস্বরূপ, যদি ইনপুট হয় –

ইনপুট

const num = 87;

আউটপুট

const output = 4;

আউটপুট ব্যাখ্যা

কারণ ধাপগুলো হল –

87 + 78 = 165; 165 + 561 = 726; 726 + 627 = 1353; 1353 + 3531 = 4884

উদাহরণ

নিচে কোডটি দেওয়া হল –

const num = 87; 
const countSteps = (num) => { 
  let res = 0; 
  while (!isPalindrome(num)) { 
    res++; 
    num += +('' + num).split('').reverse().join(''); 
  } 
  return res; 
}; 
const isPalindrome = num => { 
  let i = 0; 
  let str = '' + num; 
  while (i++ <= str.length / 2) { 
    if (str[i] !== str[str.length - 1 - i]) return false; 
  } 
  return true; 
}; 
console.log(countSteps(num));

আউটপুট

4

  1. জাভাস্ক্রিপ্টে অ্যারে উপাদান সমান করার ন্যূনতম স্টেপ বের করা

  2. জাভাস্ক্রিপ্টে একটি সংখ্যার ভাগকların গণনা করা

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

  4. জাভাস্ক্রিপ্টে ০ থেকে n পর্যন্ত গণনায় ৯ কতবার আসে সেটি গণনা করা