Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Например, маске \(123{*}4?5\) соответствуют числа \(123405\) и \(12300405.\)
Среди натуральных чисел, не превышающих \(10^{10},\) найдите все числа, соответствующие маске \(3{?}12{?}14{*}5,\) делящиеся на \(1917\) без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на \(1917.\)
Количество строк в таблице для ответа избыточно.
Решение:
Python
from fnmatch import fnmatch
st = 30120145 + (1917 - 30120145 % 1917) % 1917
for x in range(st, 10**10, 1917):
if fnmatch(str(x), '3?12?14*5'):
print(x, x // 1917)
Ответ:
\(351261495 \,\, 183235\)
\(3212614035 \,\, 1675855\)
\(3412614645 \,\, 1780185\)
\(3712414275 \,\, 1936575\)
\(3912414885 \,\, 2040905\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене