Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «» означает любую последовательность цифр произвольной длины; в том числе «» может задавать и пустую последовательность.
Например, маске 123475 соответствуют числа 123475 и 12300475.
Среди натуральных чисел, не превышающих 10^12, найдите все числа, соответствующие маске 12?3456??9, делящиеся на 98591 без
остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие
результаты деления этих чисел на 98591.
Количество строк в таблице для ответа избыточно.
Решение:
Решение на Python:
from fnmatch import fnmatch
for x in range(98591, 10**12, 98591):
if fnmatch(str(x), '12?3*456??9'):
print(x, x//98591)
Ответ:
| 120313456439 | 1220329 |
| 120383456049 | 1221039 |
| 125351456539 | 1271429 |
Ответ: