Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
1) символ «?» означает ровно одну произвольнуюцифру;
2) символ «*», означает любую последовательность цифр произвольной длины: в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 1*2322?2, делящиеся на 2024 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие им результаты деления этих чисел на 2024. Количество строк в таблице для ответа избыточно.
Досрочный ЕГЭ по информатике 2024 – задание 25
Решение:
|
1 2 3 4 |
from fnmatch import * for i in range(0, 10**10+1, 2024): if fnmatch(str(i), "1*2322?2"): print(i, i//2024) |
Ответ:
158232272 78178
1100232232 543593
1170232272 578178
1353232232 668593
1423232272 703178
1606232232 793593
1676232272 828178
1859232232 918593
1929232272 953178
