Загрузка данных


best_n = 0
max_r = 0

for n in range(1, 1000):
    b = bin(n)[2:]
    
    if n % 2 == 0:
        # Для чётных: слева '1', справа дважды последняя цифра
        r_bin = '1' + b + b[-1] * 2
    else:
        # Для нечётных: слева '10', справа две последние цифры
        if len(b) < 2:
            b = '0' + b # Добавляем незначащий ноль, если число состоит из одной цифры
        r_bin = '10' + b + b[-2:]
        
    r = int(r_bin, 2)
    
    # Ищем максимальное r, не превышающее 2000, и запоминаем N
    if r <= 2000:
        if r > max_r:
            max_r = r
            best_n = n

print(best_n)

Ответ для поля ввода:
244