কম্পিউটার

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


ধরুন আমাদের একটি স্বাক্ষরবিহীন সংখ্যা n আছে। এই সংখ্যাটির একটি বাইনারি উপস্থাপনায় আমাদের 1s সংখ্যাটি খুঁজে বের করতে হবে। এটি হ্যামিং ওজন নামেও পরিচিত। সুতরাং সংখ্যাটি যদি 000000101101 এর মত হয়, তাহলে ফলাফল হবে 4।

এটি সমাধান করার জন্য, আমরা এই পদক্ষেপগুলি ব্যবহার করব -

  • সংখ্যাটি নিন এবং এটিকে একটি বাইনারি স্ট্রিংয়ে রূপান্তর করুন
  • গণনা সেট করুন =0
  • প্রতিটি অক্ষরের জন্য e একটি বাইনারি স্ট্রিং এ
    • যদি অক্ষরটি ‘1’ হয়, তাহলে গণনা 1 দ্বারা বাড়ান
  • রিটার্ন গণনা

উদাহরণ

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

class Solution(object):
   def hammingWeight(self, n):
      """
      :type n: int
      :rtype: int
      """
      n = str(bin(n))
      print(n)
      one_count = 0
      for i in n:
         if i == "1":
            one_count+=1
      return one_count
num = "000000101101"
ob1 = Solution()
print(ob1.hammingWeight(num))

ইনপুট

num = "000000101101"

আউটপুট

4

  1. পাইথনে একক সংখ্যা

  2. পাইথনে প্যালিনড্রোম নম্বর

  3. পাইথনে ফ্যাক্টোরিয়াল()

  4. পাইথন প্রোগ্রাম একটি ইতিবাচক পূর্ণসংখ্যা সংখ্যার বিট বিপরীত?