কম্পিউটার

জাভাস্ক্রিপ্টে ফার্স্ট এন লুক এবং সেক নাম্বারের সিকোয়েন্স তৈরি করা


সমস্যা

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

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

পূর্ববর্তী সদস্য থেকে অনুক্রমের সদস্য তৈরি করতে, আমরা একই সংখ্যার গ্রুপে সংখ্যা গণনা করে পূর্ববর্তী সদস্যের সংখ্যাগুলি পড়ি।

উদাহরণস্বরূপ, 1211-এর পরবর্তী সংখ্যা হল −

111221

কারণ আমরা যদি 1211 এর সংখ্যাটি জোরে পড়ি তবে তা হবে −

One one, one two, two one which gives us 111221

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যেটি একটি সংখ্যা 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. জাভাস্ক্রিপ্টে রাউন্ডিং এবং ট্রাঙ্কটিং সংখ্যা।