Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?» и «*».
Пример. Маске 123*4?5 соответствуют числа 123 405 и 12 376 415.
Найдите все натуральные числа, не превышающие 1010, которые соответствуют маске 1?493*41 и при этом без остатка делятся
Ответ:
Приведём решение на языке Python.
from fnmatch import *
for x in range (0, 10**10, 2023):
if fnmatch(str(x),'1?493*41'):
print(x)
В результате работы программа должна вывести следующее:
1349341
1249338041
1549348941
1849359841
Приведём программу Владимира Лукьянчикова на PascalABC:
var i, k : int64; st : string;
begin
i := 1147041;
while i < 10000000000 do begin
st := i.ToString;
if (st[1] = '1') and (st[3:6] = '493') then println(i);
i := i + 202300;
end;
end.

