Задание 25. Информатика. ЕГЭ 2024. Крылов-2
- Просмотры: 79
- Изменено: 24 ноября 2024
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины, в том числе «*» может задавать и пустую последовательность.
Например, маске \(123*4?5\) соответствуют числа \(123405\) и \(12300405\).
Среди натуральных чисел, не превышающих \(10^{10}\), найдите все числа, соответствующие маске \(9*?001?1\), делящиеся на \(12007\) без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие результаты деления этих чисел на \(12007\).
Количество строк в таблице для ответа избыточно.
Решение:
Python
from fnmatch import fnmatch
d = 12007
for n in range(d, 10**10, d):
if fnmatch(str(n), '9*?001?1'):
print(n, n // d)
Ответ:
\(9098100131 \quad 757733\)
\(9201000121 \quad 766303\)
\(9303900111 \quad 774873\)
\(9406800101 \quad 783443\)
\(9681400191 \quad 806313\)
\(9784300181 \quad 814883\)
\(9887200171 \quad 823453\)
\(9990100161 \quad 832023\)