Задача к ЕГЭ по информатике на тему «Запись числа в двоичной системе счисления» №7

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

  1. Из числа N вычитается остаток от деления N на 7 и сразу же прибавляется остаток от деления N на 5.
  2. Строится двоичная запись полученного результата.
  3. К этой записи дописываются справа ещё два разряда по следующему правилу:

    складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа).

    над этой записью производятся те же действия – справа дописывается остаток от деления суммы цифр на 2.

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

mn = 10**10
for n in range(1, 500):
    n = n - n % 7 + n % 5
    b = bin(n)[2:]
    b += str(b.count(’1’) % 2)
    b += str(b.count(’1’) % 2)
    if int(b, 2) > 46:
        mn = min(mn, int(b, 2))
print(mn)

Ответ: 58
Оцените статью
Я решу все!