eolymp
bolt
Try our new interface for solving problems
Məsələlər

Fibonaççi sistemi

Fibonaççi sistemi

Kiçik Con say sistemlərini öyrənir. Sabit əsaslı say sistemlərini öyrəndikdən sonra Conu daha qeyri-adilərini maraqlandırırdı. Onlar arasında o Fibonaççi sisteminə rast gəldi, ki bu sistemdə də hər bir natural ədəd birmənalı şəkildə iki rəqəmlə: sıfır və birlərlə ifadə olunur. Lakin adi ikilik say sistemindən fərqli olaraq Fibonaççi sistemində iki biri qonşu mövqedə yerləşdirmək olmaz. \includegraphics{https://static.e-olymp.com/content/04/043110503e347979317aaf18582fba8558c4b19d.jpg} İsbat etmək olar ki, əgər Fibonaççi sistemində ədədi varsa, onda onun qiyməti növbəti şəkildədir: \textbf{N = a_n·F_n + a_\{n-1\}·F_\{n-1\} + ... + a_1·F_1}, burada \textbf{F_k} -- \textbf{F_0 = F_1 = 1}, \textbf{F_i = F_\{i-1\} + F_\{i-2\}} şəklində verilmiş Fibonaççi ardıcıllığıdır. Məsələn, ilk natural ədədlər Fibonaççi sistemində növbəti şəkildə ifadə olunurlar: \textbf{1 = 1_F} \textbf{2 = 10_F} \textbf{3=100_F} \textbf{4=101_F} \textbf{5=1000_F} \textbf{6=1001_F} \textbf{7=1010_F} Con Fibonaççi sistemində ardıcıl natural ədədləri ehtiva edən (sonsuz uzunluqda hesab olunan) çox böyük sətir yazdı, Məsələn, belə bir sətrin ilk rəqəmləri \textbf{110100101100010011010... }şəklindədir. Conu \textbf{1} rəqəminin \textbf{N}-ci prefiksdə neçə dəfə rast gəlindiyi maraqlandırır. Xatırladırıq ki, sətrin \textbf{N}-\textit{ci prefiksi }onun ilk \textbf{N} simvolunu ehtiva edən sətir adlanır. Conun sətrində \textbf{N}-ci prefiksdə rast gəlinən \textbf{1}-lərin sayını hesablayan proqramı tərtib edin. \textbf{Geriş verilənləri} Yeganə \textbf{N} (\textbf{0} ≤ \textbf{N} ≤ \textbf{10^15}) tam ədədi. \OutputFile Con sətrində \textbf{N}-ci prefiksdəki birlərin sayını verməli.
Zaman məhdudiyyəti 5 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
21
Çıxış verilənləri #1
10
Müəllif Anton Maydell, Andrew Lopatin