Задание 5. Информатика. ЕГЭ. Поляков-2776
- Просмотры: 46
- Изменено: 7 апреля 2025
(А. Богданов) Автомат обрабатывает натуральное число \(N\) по следующему алгоритму:
- Строится двоичная запись числа \(N.\)
- Все кроме первой значащие цифры инвертируются (\(0\) заменяется на \(1,\) а \(1\) на \(0).\)
- Полученное число переводится в десятичную запись.
- Новое число складывается с исходным, полученная сумма выводится на экран.
Пример. Дано число \(N = 13.\) Алгоритм работает следующим образом.
- Двоичная запись числа \(N:\) \(13 = 1101_2\)
- Все кроме первой значащие цифры инвертируются: \(1010_2.\)
- Десятичное значение полученного числа \(10.\)
- На экран выводится число \(13 + 10 = 23.\)
Укажите такое наибольшее число \(N,\) для которого результат работы алгоритма не превышает \(123?\)
Решение:
Python
def R(N):
bn = f'{N:b}'[1:]
bn = '1' + bn.replace('0', 'x').replace('1', '0').replace('x','1')
return int(bn, 2) + N
#print(R(10))
print(max(N for N in range(1, 1000) if R(N) < 123))
Ответ: \(63\)