Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Поляков-6533
- Просмотры: 245
- Изменено: 5 апреля 2025
*На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом:
- Строится двоичная запись числа \(N.\)
- Если число \(N\) делится на \(7,\) в конец двоичной записи дописывается двоичный код числа \(7,\) иначе дописывается единица.
- Если число, полученное после шага \(2,\) делится на \(5,\) в конец двоичной записи дописывается двоичный код числа \(5,\) иначе дописывается единица.
- Полученная таким образом запись является двоичной записью искомого числа \(R.\)
Например, для исходного числа \(14_{10} = 1110_2\) (делится на \(7\)) после шага \(2\) получается число \(1110111_2 = 119_{10}\) (не делится на \(5\)), а после шага \(3\) – число \(11101111_2 = 239_{10}.\) Определите наименьшее возможное значение \(N,\) для которого в результате работы алгоритма получается \(R > 500000.\)
Решение:
Python
def R(N):
bn = f'{N:b}'
bn += '111' if N % 7 == 0 else '1'
bn += '101' if int(bn, 2) % 5 == 0 else '1'
return int(bn, 2)
for N in range(100, 500_000):
if R(N) > 500_000:
print(N)
break
Ответ: \(7826\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


