Задание 5. Информатика. ЕГЭ. Поляков-6984
- Просмотры: 91
- Изменено: 17 февраля 2025
(Е. Джобс) На вход алгоритма подается натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится двоичная запись числа \(N.\)
- К этой записи дописывается справа бит четности: \(0,\) если в двоичном коде числа \(N\) было четное число единиц, и \(1,\) если нечетное.
- К полученному результату дописывается еще один бит четности.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа \(N)\) является двоичной записью искомого числа \(R.\) Укажите минимальное число \(R,\) большее \(204,\) которое может быть получено в результате работы этого алгоритма. В ответе запишите это число в десятичной системе.
Решение:
Python
def R(N):
bn = f'{N:b}'
bn += str(bn.count('1') % 2) + '0'
return int(bn, 2)
print(min(R(x) for x in range(1, 300) if R(x) > 204))
Ответ: \(210\)