Задачи
Разложение чисел Фибоначчи
Разложение чисел Фибоначчи
Некоторые числа Фибоначчи имеют иммунитет от нападений зомби - будучи простыми числами, они не могут быть разложены.
Числа Фибоначчи определяются следующими рекуррентными соотношениями:
\includegraphics{https://static.e-olymp.com/content/54/54217ddf6fc583d7640d1f0982545c315014ce43.jpg}
\includegraphics{https://static.e-olymp.com/content/71/71ed8be2ac94b3db320249481fde7c0e39117d5b.jpg}
\includegraphics{https://static.e-olymp.com/content/64/64aaabc8585f507befd86e944c9f745318171ab2.jpg}
Вам будет предложенно довольно большое количество диапазонов входных целых чисел, каждое из которых может быть представлено в виде \textbf{64}-разрядного целого числа. Ваша задача: вывести для каждого диапазона в порядке возрастания числа Фибоначчи, которые входят в этот диапазон, а также значениях их логарифмов по основанию \textbf{2} и их разложение на простые множители - простые числа в порядке возрастания, которые при перемножении дают указанное значение числа Фибоначчи. Если для заданного диапазона нет чисел Фибоначчи, Вы также должны сообщить об этом факте так, как это указано в примере выходных данных.
\textit{\textbf{Напоминание:}}
\begin{itemize}
\item логарифм нуля не определён, хотя ноль и является первым числом Фибоначчи. Также следует отметить, что, по определению, числа \textbf{0} и \textbf{1} не имеют простых множителей, хотя оба числа являются числами Фибоначчи.
\item при вычислении логарифма обратите внимание, что \textbf{ log_c(x) = log(x)/log(c)}, это свойство вы можете использовать в правой части для удобства в вычислениях ваш любимый логарифм (десятичный логарифм или натуральный логарифм).
\end{itemize}
\InputFile
Входные данные состоят из неопределённого количества строк, каждая из которых содержит по два неотрицательных целых числа (\textbf{меньшее} и \textbf{большее}), разделённых одним пробелом, заданных в шестнадцатиричном формате (например, запись \textbf{0x1a} обозначает десятичное число \textbf{26}). Гарантируется, что каждое из заданных чисел помещается в \textbf{64}-битный тип данных. Входные данные продолжаются либо до конца файла, либо пока не будет получена невозможная ситуация, когда \textbf{меньшее число} > \textbf{большее число}.
\OutputFile
Для каждого диапазона из набора входных данных выведите сам диапазон и информацию о числах Фибоначчи, как это показано в примере входных данных. Отделяйте диапазон от диапазона пустой строкой, так как это также показано в примере выходных данных. Обратите внимание на то, что логарифм по основанию \textbf{2} (\textbf{lg}) должен выводить шесть значащих цифр после десятичной точки, а также на то, что простые числа в разложении чисел Фибоначчи, также разделены одним пробелом.
Входные данные #1
0x0 0x8
Выходные данные #1
Range 0 to 8: Fib(0) = 0, lg does not exist No prime factors Fib(1) = 1, lg is 0.000000 No prime factors Fib(2) = 1, lg is 0.000000 No prime factors Fib(3) = 2, lg is 1.000000 Prime factors: 2 Fib(4) = 3, lg is 1.584963 Prime factors: 3 Fib(5) = 5, lg is 2.321928 Prime factors: 5 Fib(6) = 8, lg is 3.000000 Prime factors: 2 2 2