Задание 25. Информатика. ЕГЭ 2024. Крылов-3
- Просмотры: 89
- Изменено: 24 ноября 2024
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины, в том числе «*» может задавать и пустую последовательность.
Например, маске \(123*4?5\) соответствуют числа \(123405\) и \(12300405\).
Среди натуральных чисел, не превышающих \(10^{8}\), найдите все числа, соответствующие маске \(?19*8?3\), делящиеся на \(5171\) без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие результаты деления этих чисел на \(5171\).
Количество строк в таблице для ответа избыточно.
Решение:
Python
from fnmatch import fnmatch
d = 5171
for n in range(d, 10**8, d):
if fnmatch(str(n), '?19*8?3'):
print(n, n // d)
Ответ:
\(11908813 \quad 2303\)
\(71995833 \quad 13923\)
\(81975863 \quad 15853\)
\(91955893 \quad 17783\)