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

Разложение чисел Фибоначчи

Разложение чисел Фибоначчи

Некоторые числа Фибоначчи имеют иммунитет от нападений зомби - будучи простыми числами, они не могут быть разложены. Числа Фибоначчи определяются следующими рекуррентными соотношениями: \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}) должен выводить шесть значащих цифр после десятичной точки, а также на то, что простые числа в разложении чисел Фибоначчи, также разделены одним пробелом.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
0x0 0x8
Çıxış verilənləri #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
Mənbə ACM ICPC North America - Pacific Northwest 2010