Задание 5. Информатика. ЕГЭ. Поляков-3940
- Просмотры: 39
- Изменено: 14 апреля 2025
(Е. Джобс) Алгоритм получает на вход натуральное число \(N > 1\) и строит по нему новое число \(R\) следующим образом:
- Строится двоичная запись числа \(N.\)
- В этой записи последний ноль заменяется на первые две цифры полученной записи. Если нуля нет, алгоритм аварийно завершается.
- Запись записывается справа налево (в обратную сторону).
- Результат переводится в десятичную систему счисления.
Для какого минимального значения \(N\) в результате работы алгоритма получится число \(123?\)
Решение:
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(min(N for N in range(2, 1000) if R(N) == 123))
Ответ: \(47\)