Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
- символ «?» означает ровно одну произвольную цифру;
- символ «» означает любую последовательность цифр произвольной длины; в том числе «» может задавать и пустую последовательность.
Например, маске 123475 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске ?198?3, делящиеся на 5171 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие результаты деления этих чисел на 5171.
Решение:
Решение на Python:
from fnmatch import fnmatch
for x in range(5171, 10**10, 5171):
if fnmatch(str(x), '?19*8?3'):
print(x, x // 5171)
Ответ:
| 11908813 | 2303 |
| 71995833 | 13923 |
| 81975863 | 15853 |
| 91955893 | 17783 |
Ответ: