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

এক ইন্টিজারের সেট বিটের সংখ্যা গণনা করার পাইথন প্রোগ্রাম


এই আর্টিকেলে আমরা নিচের সমস্যা সমাধানের কথা শিখব।

সমস্যা: একটি ইন্টিজার n দেওয়া আছে, আমাদের সংখ্যাটির বাইনারি রিপ্রেজেন্টেশনে ১-এর সংখ্যা গণনা করতে হবে।

চলুন নিচের ইমপ্লিমেন্টেশনে সমাধানটি পর্যবেক্ষণ করি।

# নেইভ পদ্ধতি

উদাহরণ

# বিট কাউন্ট
def count(n):
    count = 0
    while (n):
        count += n & 1
        n >>= 1
    return count

# মেইন
n = 15
print("The number of bits :", count(n))

আউটপুট

The number of bits : 4

# রিকার্সিভ পদ্ধতি

উদাহরণ

# রিকার্সিভ পদ্ধতি
def count(n):
    # বেস কেস
    if (n == 0):
        return 0
    else:
        # লাস্ট বিট সেট আছে কিনা
        return (n & 1) + count(n >> 1)

# মেইন
n = 15
print("The number of bits :", count(n))

আউটপুট

The number of bits : 4

উপসংহার

এই আর্টিকেলে আমরা শিখেছি কিভাবে পাইথন প্রোগ্রাম দিয়ে একটি ইন্টিজারের সেট বিটের সংখ্যা গণনা করা যায়।

  1. অ্যারে-এ ইনভারশন কাউন্ট করার পাইথন প্রোগ্রাম

  2. পাইথনে নির্দিষ্ট বিট পরিসরের অনসেট বিট গণনা করার প্রোগ্রাম

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

  4. পাইথনে একটি সংখ্যার টোটাল বিট গণনা করার প্রোগ্রাম