কম্পিউটার

পাইথনে লুক অ্যান্ড সে সিকোয়েন্সে nম টার্ম খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের একটি সংখ্যা আছে n আমাদের "দেখুন এবং বলুন" ক্রমটিতে nম পদ তৈরি করতে হবে। এটি একটি ক্রম যার কয়েকটি পদ নিচের মত -

  • 1
  • 11
  • 21
  • 1211
  • 111221

স্ট্রিংটি এভাবে পড়া হবে

  • 1 (এক)
  • 11 (এক 1) তাই আগের 1টি পড়ুন এবং বলুন “এক 1”
  • 21 (দুই 1) তাই আগের 11টি পড়ুন এবং বলুন “দুই 1”
  • 1211 (এক 2 এক 1) তাই আগের 21টি পড়ুন এবং বলুন "এক 2 এক 1"
  • 111221 (এক 1 এক 2 দুই 1) তাই আগের 1211 পড়ুন এবং বলুন "এক 1 এক 2 দুই 1"

ধরুন আমাদের একটি সংখ্যা আছে n, 1 <=n <=30, তাহলে আমাদের nth টার্ম তৈরি করতে হবে। এটি সমাধান করার জন্য, আমরা এই পদ্ধতি অনুসরণ করব −

  • সেট s :=“1”
  • যদি n =1 হয়, তাহলে s ফেরত দিন
  • এর জন্য i :=2 থেকে n + 1
    • j :=0
    • temp :=খালি স্ট্রিং
    • curr =খালি স্ট্রিং এবং গণনা :=0
    • যখন j
    • যদি curr খালি স্ট্রিং হয়, তাহলে
      • curr :=s[j], গণনা :=1 এবং j 1 দ্বারা বাড়ান
    • অন্যথায় যদি curr s[j] হয়, তাহলে
      • গণনা বাড়ান এবং j 1 বাড়ান
    • অন্যথায়:
      • temp :=temp + স্ট্রিং + curr হিসাবে গণনা করুন
      • curr =খালি স্ট্রিং
      • গণনা :=0
  • temp :=temp + স্ট্রিং + curr হিসাবে গণনা করুন
  • রিটার্ন এস
  • আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

    উদাহরণ

    class Solution(object):
       def solve(self, n):
          s = "1"
          if n == 1:
             return s
          for i in range(2,n+1):
             j = 0
             temp = ""
             curr = ""
             count = 0
             while j <len(s):
                if curr =="":
                   curr=s[j]
                   count=1
                   j+=1
                elif curr == s[j]:
                   count+=1
                   j+=1
                else:
                   temp+= str(count) + curr
                   curr=""
                   count = 0
                   temp+=str(count) + curr
                   s=temp
             return s
    ob = Solution()
    n = 5
    print(ob.solve(n))

    ইনপুট

    5

    আউটপুট

    "111221"

    1. পাইথনে নোড এবং ডিসেন্ডেন্টের মধ্যে পার্থক্য খুঁজে বের করার জন্য প্রোগ্রাম

    2. পাইথনে x, y, z অক্ষরের i, j এবং k সংখ্যার সাথে পরবর্তী সংখ্যা বের করার জন্য প্রোগ্রাম

    3. পাইথনে দীর্ঘতম ধারাবাহিক অনুক্রমের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

    4. পাইথনে প্যাসকেলের ত্রিভুজের নবম সারি খুঁজে বের করার প্রোগ্রাম