কম্পিউটার

রিকার্সন ব্যবহার করে লেক্সিকোগ্রাফিক অর্ডারে একটি স্ট্রিংয়ের সমস্ত পারমুটেশন প্রিন্ট করার জন্য পাইথন প্রোগ্রাম


রিকারশন ব্যবহার করে লেক্সিকোগ্রাফিক ক্রমে একটি স্ট্রিং এর সমস্ত পারমুটেশন মুদ্রণ করার প্রয়োজন হলে, একটি পদ্ধতি সংজ্ঞায়িত করা হয়, যেটি উপাদানগুলির অনুক্রমের উপর পুনরাবৃত্তি করার জন্য 'for' লুপ ব্যবহার করে এবং উপাদানগুলির সাথে যোগ দিতে 'যোগদান' পদ্ধতি ব্যবহার করে।

নীচে একই −

এর প্রদর্শন করা হল

উদাহরণ

from math import factorial
def lexicographic_permutation_order(s):
   my_sequence = list(s)
   for _ in range(factorial(len(my_sequence))):
      print(''.join(my_sequence))
      next = next_in_permutation(my_sequence)

      if next is None:
         my_sequence.reverse()
      else:
         my_sequence = next

def next_in_permutation(my_sequence):
   if len(my_sequence) == 0:
      return None
   next = next_in_permutation(my_sequence[1:])
   if next is None:
      my_sequence[1:] = reversed(my_sequence[1:])
      q = 1
      while q < len(my_sequence) and my_sequence[0] > my_sequence[q]:
         q += 1
      if q == len(my_sequence):
         return None
      my_sequence[0], my_sequence[q] = my_sequence[q], my_sequence[0]
      return my_sequence
   else:
      return [my_sequence[0]] + next

my_input = input('Enter a string : ')
print("The string is :")
print(my_input)
print("The method is being called...")
lexicographic_permutation_order(my_input)

আউটপুট

Enter a string : hey
The string is :
hey
The method is being called...
hey
hye
yeh
yhe
hey
hye

ব্যাখ্যা

  • প্রয়োজনীয় প্যাকেজগুলি আমদানি করা হয়৷

  • 'লেক্সিকোগ্রাফিক_পারমিউটেশন_অর্ডার' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা উপাদানগুলির অভিধানিক ক্রম খুঁজে পেতে সাহায্য করে।

  • 'next_in_permutation' পদ্ধতিটি স্ট্রিং-এর পরবর্তী পারমুটেশন নির্ধারণ করতে সাহায্য করে।

  • ব্যবহারকারীর দ্বারা একটি স্ট্রিং প্রবেশ করানো হয় এবং কনসোলে প্রদর্শিত হয়৷

  • এই স্ট্রিংটিকে প্যারামিটার হিসাবে পাস করে পদ্ধতিটিকে বলা হয়।

  • আউটপুট কনসোলে প্রদর্শিত হয়।


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

  2. পাইথন প্রোগ্রাম একটি প্রদত্ত স্ট্রিং এর সমস্ত স্থানান্তর প্রিন্ট করতে

  3. পাইথন প্রোগ্রাম একটি স্ট্রিং মধ্যে এমনকি দৈর্ঘ্য শব্দ মুদ্রণ

  4. একটি তালিকার সমস্ত সাবলিস্ট প্রিন্ট করতে পাইথন প্রোগ্রাম।