Задание 5. Информатика. ЕГЭ 2024. Резерв. 18.05.2024

Просмотры: 250
Изменено: 25 ноября 2024

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

  1. Строится двоичная запись числа \(N\).
  2. К этой записи дописываются справа ещё два разряда по следующему правилу::
    a) складываются все цифры двоичной записи числа \(N\), и остаток от деления суммы на \(2\) дописывается в конец числа (справа). Например, запись \(11100\) преобразуется в запись \(111001\);
    б) над этой записью производятся те же действия — справа дописывается остаток от деления суммы её цифр на \(2\).

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа \(N\)) является двоичной записью искомого числа \(R\).

Укажите минимальное число \(R\), которое превышает число \(123\) и может являться результатом работы данного алгоритма. В ответе запишите это число в десятичной системе счисления.

Решение:

Python


def R(N):
    bn = bin(N)[2:]
    bn += str(bn.count('1') % 2)
    bn += '0'
    return int(bn, base=2)

a = []
for N in range(1, 400):
    t = R(N)
    if t > 123:
        a.append(t)

print(min(a))

Ответ: \(126\)