Processing math: 7%

المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:متفرقه:آزمون های اینترنتی ۸۹ تا ۹۱:سوال ۲۰

Fibonacci

تابع فیبوناچی تابعی به صورت زیر است:

  • f(1)=1
  • f(2)=2
  • f( n \geqslant 3 ) = f(n-1)‎ + ‎f(n-2)

نمایش عدد ‎x‎ در مبنای فیبوناچی به صورت زیر است:

‎ ‎a_n a_{n-1} a_{n-2} \cdots a_1‎ به‌طوریکه ‎a_i‎ یا ‎0‎ یا ‎1‎ است و ‎a_n‎ برابر است با 1‎. هیچ دو رقم کنارهم برابر با ‎1‎ نیستند و ‎x = \sum_{i=1}^{n} f(i) \times a_i‎. می‌توان اثبات کرد که این نمایش برای هر عدد یکتاست.

‎ فرض کنید تمام اعداد ‎1‎ تا ‎10^{20}‎ را در مبنای فیبوناچی نوشته‌ایم و آن‌ها را به ترتیب کنار هم قرار داده‌ایم تا رشته ‎s‎ تولید شود. به شما عدد ‎k‎ داده شده است، شما باید تعداد ‎1های ‎k‎ رقم اول رشته ‎s‎ را حساب کنید.

‎ برای مثال اگر ‎k‎ برابر ‎21‎ باشد، ‎k‎ رقم اول رشته ‎s‎ برابر است با ‎110100101100010011010‎ که تعداد یک‌های آن ‎10‎ تاست.‎

ورودی

در تنها سطر ورودی عدد ‎1 \leqslant k \leqslant 10^{15}‎ آمده است.‎

خروجی

در تنها سطر خروجی پاسخ سوال را چاپ نمایید. ‎

محدودیت‌ها

  • محدودیت زمان: ۲ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

ورودی و خروجی نمونه

ورودی نمونه خروجی نمونه
21 10

ابزار صفحه