Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Поляков-4932
- Просмотры: 1022
- Изменено: 12 апреля 2025
На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится двоичная запись числа \(N.\)
- К этой записи дописываются ещё несколько разрядов по следующему правилу:
- а) если \(N\) чётное, то к нему справа приписывается в двоичном виде сумма цифр его двоичной записи;
- б) если \(N\) нечётное, то к нему справа приписываются два нуля, а слева единица.
Полученная таким образом запись (в ней как минимум на один разряд больше, чем в записи исходного числа \(N)\) является двоичной записью искомого числа \(R.\) Сколько существует различных чисел \(N,\) для которых результат работы данного алгоритма принадлежит отрезку \([500; \, 700]?\)
Решение:
Python
def R(N):
bn = f'{N:b}'
if N % 2 == 0:
return int(bn + bin(bn.count('1'))[2:], 2)
return int('1' + bn + '00', 2)
print(len([N for N in range(1, 1000) if 500 <= R(N) <= 700]))
Ответ: \(20\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


