Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
- символ «?» означает ровно одну произвольную цифру;
- символ «» означает любую последовательность цифр произвольной длины; в том числе «» может задавать и пустую последовательность.
Например, маске 123475 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске 9?001?1, делящиеся на 12007 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие результаты деления этих чисел на 12007.
Количество строк в таблице для ответа избыточно.
Решение:
Решение на Python:
from fnmatch import fnmatch
for x in range(12007, 10**10, 12007):
if fnmatch(str(x), '9*?001?1'):
print(x, x // 12007)
Ответ:
| 9098100131 | 757733 |
| 9201000121 | 766303 |
| 9303900111 | 774873 |
| 9406600101 | 783443 |
| 9684400191 | 806313 |
| 9764300181 | 814883 |
| 9882001717 | 823453 |
| 9990100161 | 832023 |
Ответ: