Задание 5. Информатика. ЕГЭ. Поляков-3941
- Просмотры: 26
- Изменено: 14 апреля 2025
(Е. Джобс) Алгоритм получает на вход натуральное число \(N > 1\) и строит по нему новое число \(R\) следующим образом:
- Строится двоичная запись числа \(N.\)
- В этой записи последний ноль заменяется на первые две цифры полученной записи. Если нуля нет, алгоритм аварийно завершается.
- Запись записывается справа налево (в обратную сторону).
- Результат переводится в десятичную систему счисления.
Для скольких значений \(N\) в результате работы алгоритма получится число \(127?\)
Решение:
Python
def R(N):
bn = f'{N:b}'
if bn.count('0') == 0:
return -1
f = bn[:2]
return int(bn[::-1].replace('0', f[::-1], 1), 2)
print(sum(R(N) == 127 for N in range(2, 1000)))
Ответ: \(4\)