Задание 5. Информатика. ЕГЭ. Поляков-7539

Просмотры: 537
Изменено: 1 февраля 2025

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

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

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

Решение:

Python


def R(N):
    bn = f'{N:b}'
    bn = bn + str(bn.count('1') % 2)
    bn = bn + str(bn.count('1') % 2)
    return int(bn, 2)

print(min(R(N) for N in range(1, 100) if R(N) > 75))

Ответ: \(78\)