Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Поляков-5706
- Просмотры: 358
- Изменено: 11 апреля 2025
(Демо-2023) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится двоичная запись числа \(N.\)
- Если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается \(0,\) а затем два левых разряда заменяются на \(10;\) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается \(1,\) а затем два левых разряда заменяются на \(11.\)
- Полученная таким образом запись является двоичной записью искомого числа \(R.\)
Например, для исходного числа \(6 = 110_2\) результатом является число \(1000_2 = 8,\) а для исходного числа \(4 = 100_2\) результатом является число \(1101_2 = 13.\)
Укажите минимальное число \(N,\) после обработки которого с помощью этого алгоритма получается число \(R,\) большее \(40.\) В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def R(N):
bn = f'{N:b}'
if bn.count('1') % 2 == 0:
return int('10' + bn[2:] + '0', 2)
return int('11' + bn[2:] + '1', 2)
#print(R(6), R(4))
for N in range(4, 100):
if R(N) > 40:
print(N)
break
Ответ: \(16\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


