Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 25. Информатика. ЕГЭ. Поляков-7973
- Просмотры: 421
- Изменено: 29 января 2026
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
- символ «\(?\)» означает ровно одну произвольную цифру;
- символ «\(*\)» означает любую последовательность цифр произвольной длины; в том числе «\(*\)» может задавать и пустую последовательность.
Например, маске \(123{*}4?5\) соответствуют числа \(123405\) и \(12300425.\)
Найдите все натуральные числа, не превышающие \(10^9,\) которые соответствуют маске \(?13{*}79{*}9\) и при этом без остатка делятся на \(7521.\) В ответе запишите все найденные числа, справа от каждого числа – сумму его цифр. Отсортируйте числа в порядке возрастания суммы цифр, а при одинаковой сумме цифр – по возрастанию самого числа.
Решение:
Python
from fnmatch import fnmatch
st = 113799 + (7521 - 113799 % 7521) % 7521
ans = []
for n in range(st, 10**9, 7521):
ns = str(n)
if fnmatch(ns, '?13*79*9'):
ans.append((sum(int(z) for z in ns), n))
ans.sort()
for s, n in ans:
print(n, s)
Ответ:
\(413045799 \,\, 42\)
\(613179609 \,\, 42\)
\(41357979 \,\, 45\)
\(913417929 \,\, 45\)
\(413797899 \,\, 57\)
\(713885799 \,\, 57\)
\(913793979 \,\, 57\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


