Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Поляков-6534
- Просмотры: 256
- Изменено: 5 апреля 2025
*На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом:
- Строится двоичная запись числа \(N.\)
- Если число \(N\) делится на \(6,\) в конец двоичной записи дописывается двоичный код числа \(7,\) иначе дописывается единица.
- Если число, полученное после шага \(2,\) делится на \(3,\) в конец двоичной записи дописывается двоичный код числа \(5,\) иначе дописывается единица.
- Полученная таким образом запись является двоичной записью искомого числа \(R.\)
Например, для исходного числа \(12_{10} = 1100_2\) (делится на \(6\)) после шага \(2\) получается число \(1100111_2 = 103_{10}\) (не делится на \(3\)), а после шага \(3\) – число \(11001111_2 = 207_{10}.\) Определите наименьшее возможное значение \(N,\) для которого в результате работы алгоритма получается \(R > 300000.\)
Решение:
Python
def R(N):
bn = f'{N:b}'
bn += '111' if N % 6 == 0 else '1'
bn += '101' if int(bn, 2) % 3 == 0 else '1'
return int(bn, 2)
for N in range(100, 300_000):
if R(N) > 300_000:
print(N)
break
Ответ: \(18750\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


