Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 1?2139*4, делящиеся на 2023 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2023.
Количество строк в таблице для ответа избыточно.
Демонстрационный вариант ЕГЭ 2023 г. – задание №25
Решение:
|
1 2 3 4 |
from fnmatch import * for x in range(0, 10**10, 2023): if fnmatch(str(x),'1?2139*4'): print(x, x//2023) |
Ответ:
162139404 80148
1321399324 653188
1421396214 702618
1521393104 752048