Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
- символ «?» означает ровно одну произвольную цифру;
- символ «» означает любую последовательность цифр произвольной длины; в том числе «» может задавать и пустую последовательность.
Например, маске 1234?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 10^10, найдите все числа, соответствующие маске 5?23?3?, делящиеся на 98591 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 98591.
Количество строк в таблице для ответа избыточно.
Решение:
Решение на Python:
from fnmatch import fnmatch
for x in range(98591, 10**10, 98591):
if fnmatch(str(x), '5?2*3?3?'):
print(x, x//98591)
Ответ:
| 52253230 | 530 |
| 5024493133 | 50963 |
| 5125253135 | 51985 |
| 5226013137 | 53007 |
| 5326773139 | 54029 |
| 5524053730 | 56030 |
| 5624813732 | 57052 |
| 5725573734 | 58074 |
| 5826333736 | 59096 |
| 5927093738 | 60118 |
Ответ: