بسم الله الرّحمن الرّحیم
دو رده بندی در کانال تلگرام (https://telegram.me/HelliCode) بصورت نهایی اعلام خواهد شد که به تفکیک دانش آموزان اوّل متوسطه و بقیّه دانش آموزان و دانشجویان خواهد بود.
برای اوّلین بار در این مسابقه از سیستم ((امتیازدهی پویا)) استفاده شده است. (توضیحات کامل در مورد این سیستم امتیازدهی در کانال داده شده است.)
برای افزودن هیجان مسابقه(😉)، امتیاز دو سوال آخر بعد از پایان مسابقه داده خواهد شد. (پس حتما برنامه تان را برای همه حالات بررسی کنید، چون تا قبل از پایان مسابقه نمی توانید از درستی برنامه تان اطمینان حاصل کنید.)
موفّق باشید
امیری 😄
-> **_محدودیت زمانی: 3 ثانیه_** <-
-> **_محدودیت حافظه: 256 مگابایت_** <-
----------
عدد `n` داده شده است. میانگین تعداد بیت های اعداد `0` تا `n - 1` را خروجی دهید. تعداد بیت یعنی تعداد ارقام در نمایش دودویی (binary) عدد. دقّت داشته باشید نباید در نمایش دودویی عدد در سمت چپ عدد صفر باشد. (به استثنای نمایش دودویی عدد `0` که `0` می باشد.)
## ورودی
در تنها خطّ ورودی عدد صحیح نامنفی `n` داده شده است. (`n < 1000`)
## خروجی
در تنها خطّ خروجی، میانگین تعداد بیت های اعداد `0` تا `n - 1`، یا به عبارتی دیگر حاصل تقسیم مجموع تعداد ارقام اعداد `0` تا `n - 1` در نمایش دودویی بر تعدادشان را چاپ کنید. **(دقّت کنید در صورتی که حاصل عددی اعشاری باشد و بیش از 7 رقم اعشار داشته باشد، باید تا 7امین رقم اعشار از آن را چاپ کنید یا به عبارتی دیگر با دقّت 7 رقم اعشار عدد را رو به پایین گرد کنید و در صورتی که عدد خروجی کمتر از 7 رقم اعشار داشته باشد، باید دقیقا به همان مقدار اعشار را چاپ کنید.(یعنی صفر بی مورد آخر عدد نذارید :D ) )**
## مثال 1
| ورودی |
|:------------------:|
| 6 |
| خروجی |
|:------------------:|
| 2 |
## مثال 2
| ورودی |
|:------------------:|
| 4 |
| خروجی |
|:------------------:|
| 1.5 |
در مثال 1، نمایش دودویی اعداد `0` تا `n - 1` یعنی `0` تا `5` به این صورت است:
```
0: 0 : 1 bit
1: 1 : 1 bit
2: 10 : 2 bits
3: 11 : 2 bits
4: 100 : 3 bits
5: 101 : 3 bits
```
که جمع تعداد بیت ها `12`، و تقسیم `12` بر تعداد یعنی `6` می شود `2`.