Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
- символ «?» означает ровно одну произвольную цифру;
- символ «» означает любую последовательность цифр произвольной длины; в том числе «» может задавать и пустую последовательность.
Например, маске 123475 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске 32823, делящиеся на 123 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие им результаты деления этих чисел на 123.
Количество строк в таблице для ответа избыточно.
Решение:
Решение на Python:
from fnmatch import fnmatch
for x in range(123, 10**8, 123):
if fnmatch(str(x), '32*823'):
print(x, x // 123)
Ответ:
| 32090823 | 260901 |
| 32213823 | 261901 |
| 32336823 | 262901 |
| 32459823 | 263901 |
| 32582823 | 264901 |
| 32705823 | 265901 |
| 32828823 | 266901 |
| 32951823 | 267901 |
Ответ: