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

Просмотры: 110
Изменено: 24 ноября 2024

На вход алгоритма подаётся натуральное число \(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\)