Задание 5. Информатика. ЕГЭ. Поляков-3523
- Просмотры: 15
- Изменено: 14 апреля 2025
(Е. Джобс) Автомат обрабатывает десятичное натуральное число \(N\) по следующему алгоритму:
- К десятичной записи справа приписывается последняя цифра числа \(N.\)
- Получившееся число переводится в двоичное представление.
- К двоичной записи этого числа справа дописывается бит четности: единица, если количество единиц в двоичной записи нечетно, и ноль, если количество единиц четно.
- Полученное в результате этих операций число переводится в десятичную систему счисления.
Пример. Дано число \(13.\) Оно преобразуется следующим образом:$$13 \to 133 \to 10000101_2 \to 100001011_2 \to 267.$$ Укажите минимальное число \(N,\) после обработки которого получится число, превышающее \(413.\)
Решение:
Python
def R(N):
N = N * 10 + N % 10
bn = f'{N:b}'
bn += str(bn.count('1') % 2)
return int(bn, 2)
#print(R(13))
print(min(N for N in range(1, 1000) if R(N) > 413))
Ответ: \(21\)