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

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

Решение:

Python


for n in range(4):
    for i in range(10**n):
        for k in range(10):
            x = 10**(6 + n) + k * 10**(5 + n) + 493 * 10**(2 + n) + i * 10**2 + 41
            if x % 2023 == 0:
                print(x)

Ответ:
\(1349341\)
\(1249338041\)
\(1549348941\)
\(1849359841\)