"""Следующая повторяющаяся последовательность определена для
множества натуральных чисел:
n → n/2 (n - четное)
n → 3n + 1 (n - нечетное)
Используя описанное выше правило и начиная с 13, сгенерируется
следующая последовательность:
13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1
Получившаяся последовательность (начиная с 13 и заканчивая1)
содержит 10 элементов. Хотя это до сих пор и не доказано
(проблема Коллатца), предполагается, что все сгенерированные
таким образом последовательности оканчиваются на 1.
Какой начальный элемент меньше миллиона генерирует самую длинную
последовательность?
Примечание: Следующие за первым элементы последовательности могут быть
больше миллиона."""


def collatz(num):
    print(num)
    n = num
    count = 1
    while n > 1:
        n = n // 2 if n % 2 == 0 else n * 3 + 1
        count += 1
    return count


num_range = 1000000
count_list = [collatz(i) for i in range(num_range)]
print(count_list.index(max(count_list)))

