Маска числа — это последовательность цифр, в которой могут встречаться специальные символы
Пример. Маске 123*4?5 соответствуют числа 123405 и 12376415.
Найдите все натуральные числа, не превышающие 1010, которые соответствуют маске 1?7602*0 и при этом без остатка делятся
Ответ:
Приведем решение на языке 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))

