একটি সংখ্যা দেওয়া আছে, এর বাইনারি রিপ্রেজেন্টেশনে সর্বোচ্চ লম্বা ক্রমাগত ১-এর দৈর্ঘ্য বের করতে হবে।
উদাহরণ
ইনপুট: n = 15 আউটপুট: ৪ ১৫ এর বাইনারি রিপ্রেজেন্টেশন হলো 1111।
অ্যালগরিদম
ধাপ ১: সংখ্যা ইনপুট নিন। ধাপ ২: একটি কাউন্টার ভেরিয়েবল c=0 ব্যবহার করুন। ধাপ ৩: i = ০ হয়ার পর্য্ত লুপের ইটারেশন সংখ্যা গণনা করুন। ধাপ ৪: এই অপারেশন ১-এর প্রতিটি ক্রমের দৈর্ঘ্য ১ করে কমিয়ে দেয়।
উদাহরণ কোড
# পাইথন প্রোগ্রাম: বাইনারি রিপ্রেজেন্টেশনে সর্বোচ্চ ক্রমাগত ১-এর দৈর্ঘ্য
def maxlength(n):
# ফলাফল আরম্ভ
c = 0
# x = ০ হয়ার পর্যন্ত ইটারেশন গণনা
while (n != 0):
# এই অপারেশন ১-এর প্রতিটি ক্রমের দৈর্ঘ্য ১ করে কমায়
n = (n & (n << 1))
c = c + 1
return c
# ড্রাইভার কোড
n = int(input("সংখ্যা দিন ::>"))
print("১-এর সর্বোচ্চ দৈর্ঘ্য ::>", maxlength(n))
আউটপুট
সংখ্যা দিন ::>15 ১-এর সর্বোচ্চ দৈর্ঘ্য ::>4