Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Поляков-5102
- Просмотры: 478
- Изменено: 12 апреля 2025
На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится двоичная запись числа \(N.\)
- К этой записи дописываются ещё несколько разрядов по следующему правилу: если \(N\) чётное, то к нему слева дописывается \(1,\) а справа — \(11,\) если \(N\) нечетное – слева дописывается \(11\) и справа \(0;\)
- Результат переводится в десятичную систему и выводится на экран.
Пример. Дано число \(N = 13.\) Алгоритм работает следующим образом:
- Двоичная запись числа \(N:\) \(1101.\)
- Число нечетное, следовательно слева дописываем \(11,\) справа \(0\) – \(11+1101+0 = 1111010.\)
- На экран выводится число \(122.\)
Сколько существует значений \(N,\) для которых в результате работы автомата на экране появляется число из отрезка \([500; \, 1000]?\)
Решение:
Python
def R(N):
bn = f'{N:b}'
if N % 2 == 0:
return int('1' + bn + '11', 2)
return int('11' + bn + '0', 2)
#print(R(13))
print(len([N for N in range(1, 2000) if 500 <= R(N) <= 1000]))
Ответ: \(59\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


