Проверка гипотезы Коллатца останавливается на двойке

Я решил проверить гипотезу Коллатца на Python.

И у меня при запуске последнее число - двойка. Если можете, помогите.

import time

x = 1

while True:
    is_in_cycle = False
    xn = x
    while not is_in_cycle:
        if xn % 2 == 0:
            xn = int(x / 2)
        else:
            xn = int(x * 3 + 1)
        
        if xn == 4 or xn == 2 or xn == 1:
            is_in_cycle = True
    
    print(x)
    x += 1
    time.sleep(0.5)

Ответы (1 шт):

Автор решения: Fexonchik

Я понял. Надо было заменить в одном месте:

        if xn % 2 == 0:
            xn = int(x / 2)
        else:
            xn = int(x * 3 + 1)

на

        if xn % 2 == 0:
            xn = int(xn / 2)
        else:
            xn = int(xn * 3 + 1)

, то есть заменить x на xn.

→ Ссылка