Тип 25 № 58492 
Обработка целочисленной информации. Маска числа
i
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?» и «*». Символ «?» означает ровно одну произвольную цифру, символ «*» означает произвольную (в том числе пустую) последовательность цифр.
Пример. Маске 123*4?5 соответствуют числа 123405 и 12376415.
Найдите все натуральные числа, не превышающие 1010, которые соответствуют маске 1?7602*0 и при этом без остатка делятся на 4891. В ответе запишите все найденные числа в порядке возрастания.
Решение. Приведем решение на языке Python.
from fnmatch import *
for x in range (0, 10**10, 4891):
if fnmatch(str(x),'1?7602*0'):
print(x)
В результате работы программа должна вывести следующее:
1076020
10760200
107602000
1076020000
1576026930
Приведем решение Юрия Лысакова на языке Python.
s = '1?7602*0'
for i in range(0,10):
s1 = str(i)
for j in range(-1,1002):
s2 = str(j)
if j == -1:
s2 =''
if j > 999:
s2 = '0'*(j-998)
ss = s.replace('?',s1)
ss = ss.replace('*',s2)
if int(ss) % 4891 == 0:
print(int(ss))
Ответ: 1076020&10760200&107602000&1076020000&1576026930
58492
1076020 10760200 107602000 1076020000 1576026930