কম্পিউটার

ক্ষুদ্রতম সংখ্যা গঠনের প্রোগ্রাম যেখানে পাইথনে দুটি সন্নিহিত সংখ্যা একই নয়


ধরুন আমাদের চারটি সম্ভাব্য অক্ষর "1", "2", "3" এবং "?" সহ একটি স্ট্রিং s আছে। আমরা "?" এর জায়গায় "1", "2" এবং "3" এর যেকোনো একটি বসাতে পারি। আমাদের সম্ভাব্য ক্ষুদ্রতম সংখ্যাটি খুঁজে বের করতে হবে যা আমরা এমন করতে পারি যাতে দুটি সন্নিহিত সংখ্যা একই না হয়।

সুতরাং, ইনপুট যদি s ="2??3?" এর মত হয়, তাহলে আউটপুট হবে 21231

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

  • i :=0
  • s :=s থেকে উপাদানগুলির একটি তালিকা
  • যদি s <2 এর আকার হয়, তাহলে
    • যদি s[i] "?" এর মত হয়, তাহলে
      • রিটার্ন "1"
  • যখন i
  • যদি s[i] "?" এর মত হয়, তাহলে
    • যদি আমি 0 এর মত হয়, তাহলে
      • s[i] :="1" যখন s[i + 1] হয় "1" না হলে "2"
    • অন্যথায় যখন i> 0 এবং i <=s - 2 এর আকার, তারপর
      • যদি s[i - 1] "1" এর মত হয়, তাহলে
        • যদি s[i + 1] "2" এর মত হয়, তাহলে
          • s[i] :="3"
        • অন্যথায়,
          • s[i] :="2"
      • অন্যথায় যখন s[i - 1] "2" এর মত হয়, তখন
        • যদি s[i + 1] "2" এর মত হয়, তাহলে
          • s[i] :="3"
        • অন্যথায়,
          • s[i] :="1"
      • অন্যথায় যখন s[i - 1] "3" এর মত হয়, তখন
        • যদি s[i + 1] "2" এর মত হয়, তাহলে
          • s[i] :="2"
        • অন্যথায়,
          • s[i] :="1"
    • অন্যথায়,
      • s[i] :="1" যখন s[i - 1] হয় "1" না হলে "2"
  • i :=i + 1
  • s-এর আইটেমগুলিকে একটি স্ট্রিংয়ে যুক্ত করুন এবং ফিরে আসুন
  • উদাহরণ

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

    def solve(s):
       i = 0
       s = list(s)
       if len(s) < 2:
          if s[i] == "?":
             return "1"
       while i < len(s):
          if s[i] == "?":
             if i == 0:
                s[i] = "1" if s[i + 1] != "1" else "2"
             elif i > 0 and i <= len(s) - 2:
                if s[i - 1] == "1":
                   if s[i + 1] == "2":
                      s[i] = "3"
                   else:
                      s[i] = "2"
                elif s[i - 1] == "2":
                   if s[i + 1] == "1":
                      s[i] = "3"
                   else:
                      s[i] = "1"
                elif s[i - 1] == "3":
                   if s[i + 1] == "1":
                      s[i] = "2"
                   else:
                      s[i] = "1"
             else:
                s[i] = "1" if s[i - 1] != "1" else "2"
          i += 1
       return "".join(s)
    
    s = "2??3?"
    print(solve(s))

    ইনপুট

    "2??3?"
    

    আউটপুট

    21231

    1. পাতার ক্রম দুটি পাতার সমান নাকি পাইথনে নয় তা পরীক্ষা করার জন্য প্রোগ্রাম

    2. একটি সাবলিস্ট খুঁজতে প্রোগ্রাম যেখানে পাইথনে প্রথম এবং শেষ মান একই

    3. পাইথন প্রোগ্রাম একটি তালিকার ক্ষুদ্রতম সংখ্যা খুঁজে বের করতে

    4. দুটি সংখ্যার বাইনারি উপস্থাপনা অ্যানাগ্রাম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম।