Задание 5. Информатика. ЕГЭ. Поляков-3209
- Просмотры: 51
- Изменено: 7 апреля 2025
Автомат обрабатывает натуральное число \(N > 1\) по следующему алгоритму:
- Строится двоичная запись числа \(N.\)
- В конец записи (справа) дописывается вторая справа цифра двоичной записи.
- В конец записи (справа) дописывается вторая слева цифра двоичной записи.
- Результат переводится в десятичную систему.
Пример. Дано число \(N = 11.\) Алгоритм работает следующим образом.
- Двоичная запись числа \(N:\) \(11 = 1011_2\)
- Вторая справа цифра \(1,\) новая запись \(10111_2.\)
- Вторая слева цифра \(0,\) новая запись \(101110_2.\)
- Десятичное значение полученного числа \(46.\)
Для скольких значений \(N\) в результате работы алгоритма получится число, принадлежащее отрезку \([100; \, 150]?\)
Решение:
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 += 100 <= R(N) <= 150
print(q)
Ответ: \(13\)