Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске 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