Тип 25 № 68287 
Обработка целочисленной информации. Маска числа
i
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?» и «*». Символ «?» означает ровно одну произвольную цифру, символ «*» означает произвольную (в том числе пустую) последовательность цифр.
Например, маске 123*4?5 соответствуют числа 123405 и 12376415.
Найдите все натуральные числа, не превышающие 109, которые соответствуют маске 3*37*3?9 и при этом без остатка делятся на 9117.
В ответе запишите все найденные числа в порядке возрастания.
Решение. Будем последовательно рассматривать каждое целое число, кратное 9117, затем каждое число проверять на соответствие маске.
Приведём решение на языке Python.
from fnmatch import *
for x in range(0, 10**9, 9117):
# Перебираем все числа от 0 с шагом 9117, будут получены числа кратные 9117
if fnmatch(str(x), '3*37*3?9'):
# Проверяем полученное число соответствию заданию
print(x)
В результате работы программа должна вывести следующее:
337329
323717319
337119309
337666329
362373399
383798349
Ответ: 337329&323717319&337119309&337666329&362373399&383798349
68287
337329 323717319 337119309 337666329 362373399 383798349