Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 3?12?14*5, делящиеся на 1917 без остатка.
В ответе запишите в первом столбце таблицы все найденные числав порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1917.
from fnmatch import fnmatch
for i in range(30120145 - 30120145 % 1917, 10 ** 10, 1917):
if fnmatch(str(i), '3?12?14*5'):
print(i, i // 1917)
