 3xN+1
| Описание Рассмотрим такой алгоритм:
Ввести число N Напечатать N Если N равно 1, то остановка Если N нечетное, то N=3xN+1 Иначе N=N/2 Перейти на шаг 2
Если на вход алгоритма подать число 22, то будет распечатана такая последовательность чисел: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 Было сделано предположение, что данный алгоритм останавливается для любого целого числа N. Оно было проверено для таких N, что 0<N<1000000. Для заданного числа N количество чисел, которое выдает алгоритм, назовем len(N). Для вышеприведенного примера len(22)=16 Задача Необходимо для заданных чисел K, которые расположены между числами i и j, включая концы промежутка, определить максимальное значение len(K). Обозначим это значение как max Формат входных данных Программа считывает входные данные из текстового ASCII-файла 3xN_1.DAT. Каждый ряд входного файла содержит одну пару целых чисел i и j, разделенных пробелом. Каждое из чисел меньше 10000 и больше 0. Формат выходных данных Результатом работы программы выводится в файл 3xN_1.SOL. Для каждой входной пары (i и j) необходимо вывести ряд из трех чисел: i, j, max, которые отделяются пробелом. Пример: 3xN_1.DAT 1 10 100 200 201 210 900 1000 3xN_1.SOL 1 10 20 100 200 125 201 210 89 900 1000 174
|
|---|