Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Шастин. 5.6.2025
- Просмотры: 2864
- Изменено: 6 июня 2025
(Л. Шастин) На вход алгоритма подаётся натуральное число \(N > 1.\) Алгоритм строит по нему новое число R следующим образом.
- Строится двоичная запись числа \(N.\)
- Далее эта запись обрабатывается по следующему правилу:
- а) если количество разрядов в двоичной записи числа чётное, тогда в центр этой записи дописывается \(010.\)
- 6) если количество разрядов в этой записи нечётное, тогда последняя её цифра дублируется и дописывается в конец, а затем в центр полученной записи дописывается \(101.\)
Полученная таким образом запись является двоичной записью искомого числа \(R.\)
Например, для исходного числа \(5_{10} = 101_2\) результатом является число \(1010111_2 = 87_{10},\) а для исходного числа \(8_{10} = 1000_2\) результатом является число \(1001000_2 = 72_{10}.\)
Укажите минимальное число \(R,\) большее \(414,\) которое может быть получено с помощью описанного алгоритма. В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def R(N):
bn = f'{N:b}'
if len(bn) % 2 == 0:
bn = bn[:len(bn) // 2] + '010' + bn[len(bn) // 2:]
else:
bn += bn[-1]
bn = bn[:len(bn) // 2] + '101' + bn[len(bn) // 2:]
return int(bn, 2)
#print(R(5), R(8))
print(min(R(N) for N in range(2, 1000) if R(N) > 414))
Ответ: \(424\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


