Задача #1514
Делители и маски
(М. Ишимов) Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
- символ «?» означает ровно одну произвольную цифру;
- символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске *3185*32, делящиеся на 7157 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 7157.
Войдите, чтобы история ответов и статистика сохранялись.
Решение
Ответ
2561318532
357876
2783185532
388876
2831853132
395676
3185408932
445076
3318529132
463676
5313185032
742376
7318576432
1022576
7531855032
1052376
from fnmatch import *
for n in range(7157, 10 ** 10 + 1, 7157):
if fnmatch(str(n), '*3185*32'):
print(n, n // 7157)