Action disabled: source

محاسبهٔ فاصلهٔ دودویی

فاصلهٔ دودویی برای یک عدد مثبت به معنی تعداد ۰های پشت سر هم آن عدد در مبنای دو هست که با ارقام ۱ محصور شده‌اند. برای مثال عدد ۹ در مبنای ۲ می‌شود ۱۰۰۱ که تعداد صفرهای پشت هم در این عدد که از دو طرف با ارقام ۱ محصور شده‌اند ۲ هست پس این عدد یک فاصلهٔ دودویی با طول ۲ دارد. عدد ۵۲۹ در مبنای دو ۱۰۰۰۰۱۰۰۰۱ می‌شود که تعداد صفرهای پشت هم در یک‌جای این عدد ۳ و در جای دیگر ۴ هست پس دو فاصلهٔ دودویی با طول‌های ۳ و ۴ دارد. عدد ۲۰ در مبنای دو ۱۰۱۰۰ می‌شود که یک فاصلهٔ دودویی به طول ۱ دارد. عدد ۱۵ در مبنای دو ۱۱۱۱ می‌شود که فاصلهٔ دودویی ندارد. تابعی بنویسید که به ازای هر مقدار ورودی int مثبت، طول بزرگترین فاصلهٔ دودویی این عدد را برگرداند و اگر فاصلهٔ دودویی نداشت صفر برگرداند.

ورودی‌ها

نام ورودینوع ورودیتوضیح
nintegerیک عدد از نوع integer

خروجی

یک عدد integer بیانگر طول بزرگترین فاصلهٔ دودویی.

تست‌کیس‌ها

ورودی نمونهخروجی نمونه
‎{'n': 1041}5
‎{'n': 15}0