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