eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Фибоначчиева система счисления

Фибоначчиева система счисления

Как известно, последовательность Фибоначчи начинается с двух чисел \textbf{0} и \textbf{1} и каждый последующий член последовательности получается как сумма двух предыдущих. Например, третий член последовательности это \textbf{1} (\textbf{1}=\textbf{1}+\textbf{0}), четвёртый - \textbf{2} (\textbf{2}=\textbf{1}+\textbf{1}), пятый - \textbf{3} (\textbf{3}=\textbf{2}+\textbf{1}) и т.д. \textbf{Рисунок 1} - Первые числа последовательности Фибоначчи Эта последовательность проявляется очень часто и в нашей жизни и в природе и имеет большое значение. А знаете ли Вы, что все положительные целые числа можно представить как сумму чисел из последовательности Фибоначчи? Более того, все натуральные числа можно представить при помощи последовательности Фибоначчи, причём без повторений. Например: \textbf{13} может быть представлено из указанного множества как \{\textbf{13}\}, \{\textbf{5},\textbf{8}\} или \{\textbf{2},\textbf{3},\textbf{8}\} а \textbf{17} представлено как \{\textbf{1},\textbf{3},\textbf{13}\} или \{\textbf{1},\textbf{3},\textbf{5},\textbf{8}\}. Так как все числа обладают этим свойством (может у Вас есть желание доказать это?), то этот набор является хорошим способом для использования в качестве "базы" (основания системы счисления) для представления чисел. Но, как мы видели выше, некоторые числа могут быть представлены более чем одним способом суммой чисел из последовательности Фибоначчи. Как нам выйти из этой ситуации? Очень просто! Для этого достаточно наложить ограничение, что для предоставления числа нельзя использовать два соседних элемента из последовательности Фибоначчи! Это ограничение объясняется тем, что сумма двух соседних членов последовательности Фибоначчи сама является членом последовательности Фибоначчи. Теперь, когда мы знаем всё изложенное выше, мы можем предложить хороший способ предоставления любого целого положительного числа. Для этого мы будем использовать двоичную последовательность (только нулей и единиц). Например, \textbf{17} = \textbf{1} + \textbf{3} + \textbf{13} (мы должны помнить, что нельзя использовать два последовательных числа Фибоначчи). Будем использовать ноль в записи, если очередное число из последовательности Фибоначчи не используется, и единицу для тех что используются. Тогда, \textbf{17} = \textbf{100101} (ведущие нули должны быть опущены). На рисунке \textbf{2} подробно показано, как получена эта запись и что означают нули и единицы в приведённой выше записи. Для лучшего понимания этой схемы обратим внимание на тот факт, что не использование двух соседних чисел Фибоначчи означает, что двоичная последовательность не будет иметь двух подряд идущих единиц. Используя приведённое представление числа, мы будем говорить, что мы используем Фибоначчиеву систему счисления и записывать его как \textbf{17} = \textbf{100101} (\textbf{fib}). \textbf{Рисунок 2} - Объяснение представления числа \textbf{17} в Фибоначчиевой системе счисления Ваша задача состоит в записи заднного десятичного числа в Фибоначчиевой системе счисления. \InputFile В первой строке входных данных задано единственное натуральное число \textbf{N}, указывающее на количество примеров в тесте (\textbf{1} ≤ \textbf{N} ≤ \textbf{500}). Следующие \textbf{N} строк содержат по одному положительному целому числу, не превышающему \textbf{100 000 000}. Числа могут быть поданы в произвольном порядке. \OutputFile Вы должны вывести по одной строке для каждого из \textbf{N} чисел, полученных во входных данных, в следующем формате: "\textbf{DEC_BASE = FIB_BASE (fib)}". \textbf{DEC_BASE} это заданное оригинальное число в десятичной системе счисления, а \textbf{FIB_BASE} соответственно - его представление в Фибоначчиевой системе счисления. Образец вывода приведён в примере выходных данных.
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
10
1
2
3
4
5
6
7
8
9
10
Выходные данные #1
1 = 1 (fib)
2 = 10 (fib)
3 = 100 (fib)
4 = 101 (fib)
5 = 1000 (fib)
6 = 1001 (fib)
7 = 1010 (fib)
8 = 10000 (fib)
9 = 10001 (fib)
10 = 10010 (fib)