কম্পিউটার টিউটোরিয়াল

পাইথনে ১ বিট গণনা (Hamming Weight)

একই অনসাইনড ইন্টিজারের বাইনারি রিপ্রেজেন্টেশনে কতগুলো ১ আছে তা বের করতে হবে (হ্যামিং ওয়েট)। উদাহরণ: 000000101101 → ৪।

সমাধানের পদ্ধতি

  1. সংখ্যাকে বাইনারি স্ট্রিংে রূপান্তর করুন (bin(n))।
  2. স্ট্রিংয়ের প্রতিটি ক্যারেক্টার চেক করুন: '১' হলে কাউন্ট বাড়ান।
  3. কাউন্ট রিটার্ন করুন।

উদাহরণ কোড

class Solution(object):
    def hammingWeight(self, n):
        n = str(bin(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. পাইথনে সিংগেল নাম্বার (Single Number)

  2. পাইথনে প্যালিনড্রোম নাম্বার যাচাই (Palindrome Number)

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

  4. পাইথনে ধনাত্মক পূর্ণসংখ্যার বিট উল্টিয়ে ফেলার প্রোগ্রাম