Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «» означает любую последовательность цифр произвольной длины; в том числе «» может задавать и пустую последовательность.
Например, маске 1234?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске 3?12?145, делящиеся на 1917 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1917.
Количество строк в таблице для ответа избыточно.
Решение:
Решение на Python:
from fnmatch import fnmatch
for x in range(1917, 10**10, 1917):
if fnmatch(str(x), '3?12?14*5'):
print(x, x//1917)
Ответ:
| 351261495 | 183235 |
| 3212614035 | 1675855 |
| 3412614645 | 1780185 |
| 3712414275 | 1936575 |
| 3912414885 | 2040905 |
Ответ: