Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 25. Информатика. ЕГЭ. Поляков-7974
- Просмотры: 572
- Изменено: 29 января 2026
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
- символ «\(?\)» означает ровно одну произвольную цифру;
- символ «\(*\)» означает любую последовательность цифр произвольной длины; в том числе «\(*\)» может задавать и пустую последовательность.
Например, маске \(123{*}4?5\) соответствуют числа \(123405\) и \(12300425.\)
Найдите все натуральные числа, не превышающие \(10^9,\) которые соответствуют маске \(?54{*}32{*}1\) и при этом без остатка делятся на \(7863.\) В ответе запишите все найденные числа, справа от каждого числа – сумму его цифр. Отсортируйте числа в порядке возрастания суммы цифр, а при одинаковой сумме цифр – по возрастанию самого числа.
Решение:
Python
from fnmatch import fnmatch
st = 154321 + (7863 - 154321 % 7863) % 7863
ans = []
for n in range(st, 10**9, 7863):
ns = str(n)
if fnmatch(ns, '?54*32*1'):
ans.append((sum(int(z) for z in ns), n))
ans.sort()
for s, n in ans:
print(n, s)
Ответ:
\(154327101 \,\, 24\)
\(95433231 \,\, 30\)
\(454143291 \,\, 33\)
\(554632431 \,\, 33\)
\(954623241 \,\, 36\)
\(554868321 \,\, 42\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


