কম্পিউটার

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


ধরুন আমাদের দুটি স্ট্রিং আছে s, t এবং আরেকটি ধনাত্মক সংখ্যা nও দেওয়া আছে, আমাদের A অনুক্রমের nম পদটি ফেরত খুঁজে বের করতে হবে যেখানে −

  • A[0] =s
  • A[1] =t
  • A[n] =A[n - 1] + A[n - 2] যখন n জোড় হয়, অন্যথায় A[n] =A[n - 2] + A[n - 1]।

উদাহরণ হিসেবে, যদি s ="a" এবং t ="b", তাহলে অনুক্রম A হবে − ["a", "b", "ba" ("a" + "b"), "bba" ( "b" + "ba"), "bbaba" ("bba" + "ba")]

সুতরাং, যদি ইনপুটটি s ="pk", t ="r", n =4 এর মত হয়, তাহলে আউটপুট হবে "rrpkrpk"

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • যদি n 0 এর মত হয়, তাহলে
    • রিটার্ন এস
  • অন্যথায় যখন n 1 এর মত হয়, তখন
    • রিটার্ন টি
  • a :=s, b :=t
  • 2 থেকে n রেঞ্জের i জন্য, করুন
    • যদি i mod 2 0 এর মত হয়, তাহলে
      • c :=b concatenate a
    • অন্যথায়,
      • c :=a concatenate b
    • a :=b
    • b :=c
  • রিটার্ন c

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution:
   def solve(self, s, t, n):
      if n == 0:
         return s
      elif n == 1:
         return t
         a = s
         b = t
      for i in range(2, n+1):
         if i%2 == 0:
            c = b + a
         else:
            c = a + b
            a = b
            b = c
      return c
ob = Solution()
print(ob.solve("pk", "r", 4))

ইনপুট

"pk", "r", 4

আউটপুট

rrpkrpk

  1. প্রদত্ত স্ট্রিংটি স্বরবর্ণ প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  2. প্রদত্ত স্ট্রিং প্যানগ্রাম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  3. পাইথন প্রোগ্রাম একটি প্রদত্ত স্ট্রিং এর বাইনারি রিপ্রেজেন্টেশনে সবচেয়ে বড় ধারাবাহিক 1 এর দৈর্ঘ্য খুঁজে বের করতে।

  4. পাইথনে একটি স্ট্রিংয়ে সাবস্ট্রিংয়ের nম ঘটনাটি কীভাবে খুঁজে পাবেন?