محاسبهٔ فاصلهٔ دودویی
فاصلهٔ دودویی برای یک عدد مثبت به معنی تعداد ۰های پشت سر هم آن عدد در مبنای دو هست که با ارقام ۱ محصور شدهاند. برای مثال عدد ۹ در مبنای ۲ میشود ۱۰۰۱ که تعداد صفرهای پشت هم در این عدد که از دو طرف با ارقام ۱ محصور شدهاند ۲ هست پس این عدد یک فاصلهٔ دودویی با طول ۲ دارد. عدد ۵۲۹ در مبنای دو ۱۰۰۰۰۱۰۰۰۱ میشود که تعداد صفرهای پشت هم در یکجای این عدد ۳ و در جای دیگر ۴ هست پس دو فاصلهٔ دودویی با طولهای ۳ و ۴ دارد. عدد ۲۰ در مبنای دو ۱۰۱۰۰ میشود که یک فاصلهٔ دودویی به طول ۱ دارد. عدد ۱۵ در مبنای دو ۱۱۱۱ میشود که فاصلهٔ دودویی ندارد. تابعی بنویسید که به ازای هر مقدار ورودی int مثبت، طول بزرگترین فاصلهٔ دودویی این عدد را برگرداند و اگر فاصلهٔ دودویی نداشت صفر برگرداند.
ورودیها
نام ورودی | نوع ورودی | توضیح |
---|---|---|
n | integer | یک عدد از نوع integer |
خروجی
یک عدد integer بیانگر طول بزرگترین فاصلهٔ دودویی.
تستکیسها
ورودی نمونه | خروجی نمونه |
---|---|
{'n': 1041} | 5 |
{'n': 15} | 0 |