কম্পিউটার

পরীক্ষা করার জন্য প্রোগ্রাম আমরা পাইথনে একটি ডিজিট পেয়ার এবং যেকোনো সংখ্যার ট্রিপলেট পেতে পারি কিনা


ধরুন আমাদের একটি সংখ্যাসূচক স্ট্রিং s আছে। আমাদের পরীক্ষা করতে হবে এমন কিছু ব্যবস্থা আছে যেখানে আমরা একই অক্ষরের একটি জোড়া থাকতে পারি এবং বাকি স্ট্রিং একই অক্ষরের যেকোন সংখ্যক ট্রিপলেট তৈরি করতে পারি।

সুতরাং, যদি ইনপুটটি s ="21133123" এর মতো হয়, তাহলে আউটপুট হবে True, কারণ জোড়া হিসেবে "22" এবং দুটি ট্রিপলেট হিসেবে "111", "333" গঠনের জন্য দুটি 2s আছে৷

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

  • d :=s

    -এ উপস্থিত প্রতিটি উপাদানের ফ্রিকোয়েন্সি ধারণকারী একটি তালিকা
  • প্রতিটি k-এর জন্য d, করুন

    • d[k] :=d[k] - 2

    • যদি d[i] mod 3 d এর সমস্ত i এর জন্য 0 হয়, তাহলে

      • রিটার্ন ট্রু

    • d[k] :=d[k] + 2

  • রিটার্ন ফলস

উদাহরণ

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

from collections import Counter
def solve(s):
   d = Counter(s)
   for k in d:
      d[k] -= 2
      if all(d[i] % 3 == 0 for i in d):
         return True
      d[k] += 2
   return False

s = "21133123"
print(solve(s))

ইনপুট

"21133123"

আউটপুট

True

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

  2. প্রোগ্রাম চেক করার জন্য আমরা যে কোন শহর থেকে যে কোন শহরে যেতে পারি নাকি পাইথনে নেই

  3. একটি সংখ্যা পরীক্ষা করার জন্য প্রোগ্রাম কুশ্রী সংখ্যা বা পাইথনে নয়

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