Decomposing Fibonacci Numbers
Some Fibonacci numbers are immune to zombie attack - as prime numbers they can't be decomposed.
Fibonacci numbers are defined by the following recurrence:
You will be given an indefinite number of integer ranges of numbers that can be represented as 64-bit signed integers. Your job is to report in increasing order the Fibonacci numbers that fall within that range, as well as their base-2 logarithm and their prime decomposition - the prime numbers in increasing order which, when multiplied together, give the value of the Fibonacci number. If there is no Fibonacci number in the range, report that fact.
Reminder:
the logarithm of zero is undefined, even though zero is the first Fibonacci number. Also note that, by definition, 0 and 1 have no prime factors, even though they are Fibonacci numbers.
to calculate the base c logarithm, note that log_c(x) = log(x)/log(c), using on the right-hand side your favorite logarithm (common logarithm or natural logarithm).
Input
The input file contains an indeterminate number of lines consisting of two non-negative integers (lo and hi) separated by one space, given in hexadecimal format (as in 0x1a meaning 26 in decimal). Each integer is guaranteed to fit within a 64-bit signed integer. The program terminates when it either encounters an end-of-file condition or when lo > hi.
Output
For each range in the input file, print the range and the Fibonacci number information as shown in the sample output, with each range separated by a blank line. Note that the base-2 logarithm (lg) is reported with six digits to the right of the decimal point, and that the prime factors are separated by single spaces.