INPUT FILE: triple.in
OUTPUT FILE: triple.out
Consider the following procedure:
Procedure ThreeNPlusOne(var N: longint); begin while N<>1 do begin if N mod 2 = 0 then N := N div 2 else N := 3*N + 1; end; end;Although it looks deceptively simple, it has to this day not been proven whether this code halts (eventually exists the while loop) for every input N. Most computer scientists conjecture that it does, However, for some inputs the algorithm takes a surprisingly large number of iterations to quit. Given two integer numbers a and b, find the number N in the range a..b which takes the maximum number of iterations to exit this loop. This program should run within 10 seconds on a Pentium 166MHz.
INPUT
The numbers a and b, separated by a space.
OUTPUT
Output the maximum number of iterations the procedures takes as N ranges over
the values a..b and the value of N which gives this maximum.
Sample Input File
1 8
Output for Sample Input
Maximum iterations = 16 for N = 7