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

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

Автомат обрабатывает натуральное число \(N > 1\) по следующему алгоритму:

  1. Строится двоичная запись числа \(N.\)
  2. В конец записи (справа) дописывается вторая справа цифра двоичной записи.
  3. В конец записи (справа) дописывается вторая слева цифра двоичной записи.
  4. Результат переводится в десятичную систему.

Пример. Дано число \(N = 11.\) Алгоритм работает следующим образом.

  1. Двоичная запись числа \(N:\) \(11 = 1011_2\)
  2. Вторая справа цифра \(1,\) новая запись \(10111_2.\)
  3. Вторая слева цифра \(0,\) новая запись \(101110_2.\)
  4. Десятичное значение полученного числа \(46.\)

Для скольких значений \(N\) в результате работы алгоритма получится число, принадлежащее отрезку \([150; \, 250]?\)

Решение:

Python


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

#print(R(11))
q = 0
for N in range(1000, 1, -1):
    q += 150 <= R(N) <= 250
print(q)

Ответ: \(24\)