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

জাভাস্ক্রিপ্টে প্রথম n লুক-এন্ড-সে নম্বর সিকোয়েন্স জেনারেট করা

সমস্যা

গাণিতিকভাবে, লুক-এন্ড-সে সিকোয়েন্স হলো পূর্ণসংখ্যার সিকোয়েন্স যা নিচের মতো শুরু হয়:

1, 11, 21, 1211, 111221, 312211, …

পূর্ববর্তী সদস্যের ডিজিটগুলোকে পড়ে (グループবদ্ধ করে) পরবর্তী সদস্য জেনারেট করা হয়।

উদাহরণস্বরূপ, ১২১১-এর পরবর্তী নম্বর:

111221

কারণ ১২১১ কে কণ্ঠে পড়লে হবে — "One one, one two, two one" যা দিয়ে ১১১২২১।

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যা n নেবে এবং লুক-এন্ড-সে সিকোয়েন্সের প্রথম n টার্ম রিটার্ন করবে।

উদাহরণ

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

const num = 12; 
const generateSequence = (num = 1) => { 
   const lookAndSay = (val) => { 
      let res = ''; 
      let chars = (val + ' ').split(''); 
      let last = chars[0]; 
      let count = 0; 
      chars.forEach(c => { 
          if(c === last){ 
            count++; 
          }else{ 
            res += (count + '') + last; 
            last = c; 
            count = 1; 
          }; 
      }); 
      return res; 
   } 
   let start = 1; 
   const res = []; 
   for(let i = 0; i < num; i++){ 
      res.push(String(start)); 
      start = lookAndSay(start); 
   }; 
   return res; 
}; 
console.log(generateSequence(num));

আউটপুট

কনসোল আউটপুট:

[ 
   '1', 
   '11', 
   '21', 
   '1211', 
   '111221', 
   '312211', 
   '13112221', 
   '1113213211', 
   '31131211131221', 
   '13211311123113112211', 
   '11131221133112132113212221', 
   '3113112221232112111312211312113211' 
]
  1. জাভাস্ক্রিপ্ট অ্যারেতে প্রথম ও শেষ এলিমেন্ট বের করা

  2. জাভাস্ক্রিপ্টে অ্যারেতে প্রথম ও শেষ আইটেম পাওয়া

  3. জাভাস্ক্রিপ্টে var এবং let-এর পার্থক্য

  4. জাভাস্ক্রিপ্টে সংখ্যা রাউন্ড এবং ট্রাঙ্কেট করা