Задание 5. Информатика. ЕГЭ 2024. Крылов-3

На вход алгоритма подаётся натуральное число \(N\). Алгоритм строит по нему новое число \(R\) следующим образом.

  1. Строиться четверичная запись числа \(N\).
  2. Далее эта запись обрабатывается по следующему правилу:
    1. если число \(N\) делится на \(4\), то к этой записи дописываются две последние четверичные цифры;
    2. если число \(N\) на \(4\) не делится, то остаток от деления умножается на \(2\), переводится в четверичную запись и дописывается в конец числа.
    Полученная таким образом запись является четверичной записью искомого числа \(R\).
  3. Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа \(11 = 23_4\) результатом является число \(2312_4 = 182\), а для исходного числа \(12 = 30_4\) это число \(3030_4 = 204\).

Укажите минимальное число \(N\), после обработки которого с помощью этого алгоритма получается число \(R\), не меньшее \(1025\).

Решение:

Python


def conv(N):
    res = ''
    while N:
        res = str(N % 4) + res
        N //= 4

    return res


def R(N):
    res = conv(N)
    r = N % 4
    if r == 0:
        res += res[-2:]
    else:
        res += conv(2*r)

    return int(res, 4)

N = 13
while R(N) < 1025:
    N += 1

print(N)

Ответ: \(66\)