Задание 25. Информатика. Статград 2023-2-2

Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?» и «*». Символ «?» означает ровно одну произвольную цифру, символ «*» означает произвольную (в том числе пустую) последовательность цифр.
Пример. Маске \(123*4?5\) соответствуют числа \(123405\) и \(12376415\).
Найдите все натуральные числа, не превышающие \(10^{9}\), которые соответствуют маске \(12*93?1?\) и при этом без остатка делятся на \(3127\).
В ответе запишите все найденные числа в порядке возрастания.

Решение:

Python


for n in range(3):
    for k in range(10**n):
        for x in range(10):
            for y in range(10):
                z = 12 * 10**(5+n) + k * 10**5 + 93 * 10**3 + x * 100 + 10 + y
                if z % 3127 == 0:
                    print(z)

Ответ:
\(120993011\)
\(122093715\)
\(126193212\)
\(127293916\)