কম্পিউটার

পাইথনে 5 দ্বারা বিভাজ্য বাইনারি উপসর্গ


ধরুন আমাদের 0s এবং 1s এর একটি অ্যারে আছে, বিবেচনা করুন N[i] হল i-তম সাবয়ারে A[0] থেকে A[i] পর্যন্ত একটি বাইনারি সংখ্যা হিসাবে ব্যাখ্যা করা হয়েছে। আমাদের বুলিয়ান উত্তরগুলির একটি তালিকা খুঁজে বের করতে হবে, যেখানে উত্তর[i] সত্য এবং শুধুমাত্র যদি N[i] 5 দ্বারা বিভাজ্য হয়।

সুতরাং, যদি ইনপুটটি [0,1,1,1,1,1] এর মত হয়, তাহলে আউটপুট হবে [সত্য, মিথ্যা, মিথ্যা, মিথ্যা, সত্য, মিথ্যা]

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

  • দৈর্ঘ্য :=A এর আকার
  • উত্তর:=আকারের দৈর্ঘ্যের একটি অ্যারে তৈরি করুন এবং মিথ্যা দিয়ে পূরণ করুন
  • সংখ্যা:=A থেকে প্রতিটি উপাদানকে সংযুক্ত করে একটি বাইনারি মান
  • আমি 0 থেকে দৈর্ঘ্য রেঞ্জের জন্য, কর
    • যদি মোড 5 নম্বরটি 0 এর মত হয়, তাহলে
      • উত্তর[দৈর্ঘ্য-i-1] :=সত্য
    • সংখ্যা:=সংখ্যা / 2
  • উত্তর ফেরত দিন

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

উদাহরণ

class Solution:
   def prefixesDivBy5(self, A):
      length=len(A)
      ans=[False]*length
      number=int("".join(map(str,A)),2)
      for i in range(length):
         if number%5==0:
            ans[length-i-1]=True
            number=number>>1
      return ans
ob = Solution()
print(ob.prefixesDivBy5([0,1,1,1,1,1]))

ইনপুট

[0,1,1,1,1,1]

আউটপুট

[True, False, False, False, True, False]

  1. পাইথনে বাইনারি ট্রি ব্যাস

  2. পাইথনে বাইনারি ট্রি ইনভার্ট করুন

  3. পাইথন বাইনারি সিকোয়েন্সের ধরন

  4. পাইথনে স্ট্রিংকে বাইনারিতে কীভাবে রূপান্তর করবেন?