কম্পিউটার

পাইথনে স্ট্রিংগুলির সর্বশ্রেষ্ঠ সাধারণ বিভাজক


ধরুন A এবং B দুটি স্ট্রিং আছে। আমরা বলতে পারি A কে B দ্বারা বিভাজ্য, যখন A B এক বা একাধিকবার সংযুক্ত করে তৈরি হয়। তাই যদি A =“abcabc”, এবং B =“abc”, তাহলে A হল B দ্বারা বিভাজ্য। এই বিভাগে, আমরা দেখব কোন স্ট্রিং-এর সর্বশ্রেষ্ঠ সাধারণ ভাজক। তাই সবচেয়ে বড় স্ট্রিংটি ফেরত দিন যা উভয় স্ট্রিংকে বিভক্ত করে। তাই যদি দুটি স্ট্রিং হয় “ABABAB”, এবং “ABAB”, তাহলে GCD হবে “AB”

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

  • temp :=A এবং B এর মধ্যে ছোট স্ট্রিং
  • m :=তাপমাত্রার দৈর্ঘ্য
  • x :=1
  • res হল একটি অ্যারে এবং res-এ "" সন্নিবেশ করান
  • যখন A এবং B এর সাইজ x এর সাবস্ট্রিং আছে, তারপর রেস-এ সাবস্ট্রিং যোগ করুন এবং x কে 1 দ্বারা বাড়ান
  • অবশেষে রেস অ্যারের শেষ উপাদানটি ফেরত দিন।

উদাহরণ

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

class Solution(object):
   def gcdOfStrings(self, str1, str2):
      if len(str1)<=len(str2):
         temp = str1
      else:
         temp = str2
      m = len(temp)
      x = 1
      res=[""]
      while x<=m:
         if m%x==0 and temp[:x] * (len(str1)//x) == str1 and temp[:x] * (len(str2)//x) == str2:
            res.append(temp[:x])
         x+=1
      return res[-1]
ob1 = Solution()
print(ob1.gcdOfStrings("ABABAB","ABAB"))

ইনপুট

"ABABAB"
"ABAB"

আউটপুট

AB

  1. Python প্রোগ্রাম দুটি স্ট্রিং এ সাধারণ শব্দ অপসারণ করে

  2. পাইথন - ফিল্টার সুপারসিকোয়েন্স স্ট্রিং

  3. পাইথন - ম্যাট্রিক্সে সবচেয়ে সাধারণ সমন্বয়

  4. Excel এ সর্বনিম্ন সাধারণ একাধিক বা সর্বশ্রেষ্ঠ সাধারণ ভাজক খুঁজুন