Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
1) символ «?» означает ровно одну произвольнуюцифру;
2) символ «*», означает любую последовательность цифр произвольной длины: в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие 2*8?6?13, делящиеся на 323 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие им результаты деления этих чисел на 323. Количество строк в таблице для ответа избыточно.
Всероссийская апробации ЕГЭ 05.03.2024 – задание 25
Решение:
|
1 2 3 4 |
from fnmatch import * for i in range(0, 10**8, 323): if fnmatch(str(i), "2*8?6?13"): print(i, i//323) |
Ответ:
22846113 70731
24816413 76831
28886213 89431
