Задание 25. Информатика. ЕГЭ 2024. Лещинер-1

Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске \(123*4?5\) соответствуют числа \(123405\) и \(12300405\).

Среди натуральных чисел, не превышающих \(10^{8}\), найдите все числа, соответствующие маске \(2*1?5?1\), делящиеся на \(1921\) без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1921.
Количество строк в таблице для ответа избыточно.

Решение:

Python


from fnmatch import fnmatch

for num in range(210501, 10**8 + 1):
    if fnmatch(str(num), '2*1?5?1') and num % 1921 == 0:
        print(num, num // 1921)

Ответ:
\(2710531\) \(1411\)
\(22016581\) \(11461\)
\(23015501\) \(11981\)
\(23111551\) \(12031\)
\(27318541\) \(14221\)
\(27414591\) \(14271\)
\(28413511\) \(14791\)