Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «$» означает ровно одну чётную цифру;
– символ «%» означает любую последовательность нечётных цифр произвольной длины; в том числе «%» может задавать и пустую последовательность.
Например, маске 123$4%5 соответствуют числа 123445 и 1236415.
Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 14$$5%, делящиеся на 3257 без остатка.
В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 3257.
import re
pat = r'14[02468][02468]5[13579]*'
cnt = 0
for i in range(14005 - 14005 % 3257, 10 ** 10, 3257):
if re.fullmatch(pat, str(i)):
print(i, i // 3257)
cnt += 1
if cnt == 5:
break
