Задание 25. Информатика. ЕГЭ 2024. Крылов-3

Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы

— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины, в том числе «*» может задавать и пустую последовательность.

Например, маске \(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\)