Задача к ЕГЭ по информатике на тему «Маски» №4

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

– символ «?» означает ровно одну произвольную цифру;

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

Например, маске 123*4?5 соответствуют числа 123405 и 12300405.

Среди натуральных чисел, не превышающих 109  , найдите все числа, соответствующие маске 3?35*44?, делящиеся на 11379 без остатка и частные от деления найденных чисел на 11379.

В ответ запишите пары найденных чисел (найденное число и частное от деления на 11379) в порядке возрастания через пробел.

# для оптимизации делаем цикл с шагом 11379, начиная с числа кратного 11379, для того чтобы проходиться по числам кратным 11379
for x in range(11379, 10**9+1, 11379):
    s = str(x)
    if (s[0] == ’3’) and (s[2:4] == ’35’) and (s[-3] == ’4’) and (s[-2] == ’4’): # проверка, что число соответствует маске
        print(x, x // 11379)

Ответ: 303523446 26674
Оцените статью
Я решу все!