Задание 25. Информатика. ЕГЭ. Статград. 28.01.2025-1
- Просмотры: 353
- Изменено: 2 февраля 2025
Маска числа – это последовательность цифр, в которой могут встречаться специальные символы «\(?\)» и «\(*\)». Символ «\(?\)» означает ровно одну произвольную цифру, символ «\(*\)» означает произвольную (в том числе пустую) последовательность цифр. Например, маске \(123{*}4?5\) соответствуют числа \(123405\) и \(12376415.\)
Найдите все натуральные числа, не превышающие \(10^9,\) которые соответствуют маске \(4{?}5{*}07{*}3\) и при этом без остатка делятся на \(9341.\) В ответе запишите все найденные числа в порядке возрастания.
Решение:
Python
from fnmatch import fnmatch
n = 405073 + (9341 - 405073 % 9341)
for x in range(n, 10**9, 9341):
if fnmatch(str(x), '4?5*07*3'):
print(x)
Ответ:
\(495073\)
\(48507813\)
\(405707653\)
\(495007613\)
\(495568073\)