Шаблон решения прототипа с числовым отрезком

x = <начало интервала>
y = <конец интервала>
for i in range(x, y + 1):
    if <условие>:
        <вывод>

Шаблон решения прототипа с маской:

from fnmatch import *
for i in range (<число для кратности>, 10**10, <число д
ля кратности>):
    if fnmatch(str(i), <маска>):
        print(i, i//<число для кратности>)

Полезные функции на поиск делителей числа:

def delit(n):
    a = []
    for j in range(2, i):
        if i % j == 0:
            a.append( j)
    return a

На перевод в другую систему счисления из 10-ой:

def system(n):
    t = ''
    while n > 0:
        t = n % <система счисления> + t
        n //= <система счисления>
    return t

Пример задания с решением

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

for x in range(12345, 10**6):
    st = str(x) #Проверка соответствия маске
    if st[:4] == '1234' and st[-1] == '5':
        s = 0 #Определение делителей числа

        for i in range(2, x // 2 + 1):
            if x % i == 0:
                s = s + i
        if s % 4 == 0:
            print(x, s)

Ответ:
123415 24688

123425 29652

123435 108068

123455 24696

123475 43924

123495 74120

Прототипы с ЕГЭ

Задача №1
Назовём максой числа последовательность цифр, в которой также могут встречаться следующие символы:
- символ "?" означает ровно одну произвольную цифру.
- символ "*" означает любую последовательность цифр произвольной длины. Кроме того, "*" может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 1234?57?8, делящиеся на число 17 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце - соответствующие им результаты деления этих чисел на 17.
Количество строк в таблице для ответы избыточно.

Ответ:
123405788 7259164
123435708 7260924
123445738 7261514
123455768 7262104
123465798 7262694
123495718 7264454

Задача №2 Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 1?2139*4, делящиеся на 2023 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2023. Количество строк в таблице для ответа избыточно.

Ответ:
162139404 80148
1321399324 653188
1421396214 702618
1521393104 752048

Задания уровня ЕГЭ

Задача №1 Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
- символ «?» означает ровно одну произвольную цифру;
- символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Среди натуральных чисел, не превышающих 1013, найдите все числа, соответствующие маске 12?345?67089?, делящиеся на 206 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 206.

Ответ:
1203458670898 5842032383
1223459670896 5939124616
1233450670896 5987624616
1253451670894 6084716849
1273452670892 6181809082
1293453670890 6278901315

Задача №2 Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Известно, что в числе, соответствующему маске 32*54?123, четное количество цифр, при этом в числе нет нулей и сумма левой половины цифр равна сумме правой половине цифр. Найдите все такие числа, кратные 519 и меньшие 1013. Выведите найденные числа в порядке возрастания, справа от них укажите значение, получаемое при делении числа на 519.
Пример с суммами: число 15233342 имеет сумму правой половины 1+5+2+4=12 и сумму левой половины 3+3+4+2=12.

Ответ:
321525543123 619509717
322167546123 620746717
323724546123 623746717
324366549123 624983717
325281546123 626746717
325923549123 627983717