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

Задача 3n + 1

Задача 3n + 1

Розглянемо наступний алгоритм генерації послідовності чисел: 1. input \textbf{n} 2. print \textbf{n} 3. if \textbf{n} = \textbf{1} then STOP 4. if \textbf{n} is odd then \textbf{n} = \textbf{3} * \textbf{n} + \textbf{1} 5. else \textbf{n} = \textbf{n} / \textbf{2} 6. GOTO \textbf{2} Наприклад, для \textbf{n} = \textbf{22} буде згенеровано наступну послідовність чисел: \textbf{22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1} Припускають (але це ще не доведено), що цей алгоритм зійдеться до \textbf{n} = \textbf{1} для довільного цілого \textbf{n}. У всякому випадку, це припущення вірне для всіх цілих \textbf{n}, для яких \textbf{0} < \textbf{n} < \textbf{1,000,000}. Довжиною циклу числа \textbf{n}\textit{ }будемо називати кількість згенерованих чисел у послідовності включаючи \textbf{1}. У наведеному вище прикладі довжна циклу числа \textbf{22} дорівнює \textbf{16}. Для двох заданних чисел \textbf{i} та \textbf{j} необхідно знайти максимальну довжину циклу для всіх чисел між \textbf{i} та \textbf{j} включно. \InputFile Кожний тест задається в окремому та містить пару цілых чисел \textbf{i} та \textbf{j}. Вхідні числа меньші \textbf{1000000} та більші \textbf{0}. Вважайте, що для обчислень достатньо використовувати \textbf{32} бітний цілочисельний тип. \OutputFile Для кожної пари чисел \textbf{i} та \textbf{j} виведіть числа \textbf{i} та \textbf{j} у тому ж порядку, в якому вони надійшли на вхід. Після чого виведіть максимальну довжину циклу серед усіх цілих чисел між \textbf{i} та \textbf{j} включно. Для кожного тесту три числа слід виводити в окремому рядку, розділяючи одним пропуском.
Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
1 10
100 200
201 210
900 1000
Вихідні дані #1
1 10 20
100 200 125
201 210 89
900 1000 174