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

Просмотры: 28
Изменено: 13 апреля 2025

(Е. Джобс) Автомат обрабатывает десятичное натуральное число \(N\) по следующему алгоритму:

  1. Строится двоичная запись числа \(N.\)
  2. Если число чётное, справа (в конец двоичной записи числа) приписывается \(1,\) в противном случае справа приписывается \(0.\)
  3. Для полученного числа пункт 2 повторяется ещё один раз.

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

Решение:

Python


def R(N):
    bn = f'{N:b}'
    bn += '1' if bn[-1] == '0' else '0'
    bn += '1' if bn[-1] == '0' else '0'
    return int(bn, 2)

print(max(N for N in range(1, 1000) if R(N) < 171))

Ответ: \(42\)