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

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

একটি ধনাত্মক সংখ্যা এবং বিটের পরিসর দেওয়া থাকলে, সেই পরিসরে কতগুলো অনসেট বিট (০) আছে তা গণনা করা হয়।

ইনপুট : n = 50, শুরুর অ্যাড্রেস = ২, শেষ অ্যাড্রেস = ৫
আউটপুট : ২

বিট ২ থেকে ৫ পর্যন্ত '২'টি অনসেট বিট রয়েছে।

অ্যালগরিদম

ধাপ ১: n কে bin() দিয়ে বাইনারি রূপান্তর করুন।
ধাপ ২: প্রথম দুই ক্যারেক্টার ('0b') সরিয়ে দিন।
ধাপ ৩: স্ট্রিংটি উল্টিয়ে দিন।
ধাপ ৪: st-1 থেকে ed পর্যন্ত (শেষটি বাদ দিয়ে) '০' গুনুন।

উদাহরণ কোড

# নির্দিষ্ট পরিসরের অনসেট বিট গণনা করার ফাংশন
def countunsetbits(n, st, ed):
    # n কে বাইনারি রূপান্তর
    bi = bin(n)
    # প্রথম দুই ক্যারেক্টার সরান
    bi = bi[2:]
    # স্ট্রিং উল্টিয়ে দিন
    bi = bi[-1::-1]
    # st-1 থেকে ed পর্যন্ত '০' গণনা করুন
    print(len([bi[i] for i in range(st-1, ed) if bi[i] == '0']))

# ড্রাইভার প্রোগ্রাম
if __name__ == "__main__":
    n = int(input("ধনাত্মক সংখ্যা দিন ::>"))
    st = int(input("শুরুর পজিশন"))
    ed = int(input("শেষ পজিশন"))
    countunsetbits(n, st, ed)

আউটপুট

ধনাত্মক সংখ্যা দিন ::> 50
শুরুর পজিশন 2
শেষ পজিশন 5
2
  1. অ্যারে-এ ইনভারশন কাউন্ট করার পাইথন প্রোগ্রাম

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

  3. পাইথন প্রোগ্রাম: ১ থেকে n পর্যন্ত সকল সংখ্যার টোটাল সেট বিট গণনা

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