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