(PRO100-ЕГЭ) Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Например, маске \(123B4A5\) соответствуют числа \(123405\) и \(12399405.\)
Среди натуральных чисел, не превышающих \(10^{10},\) найдите все числа, соответствующие маске \(1A2157B4,\) делящиеся на \(133\) без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на \(133.\)
Решение:
Python
even = '02468'
st = 1021574 + (133 - 1021574 % 133) % 133
for n in range(st, 2 * 10**9, 133):
sn = str(n)
if sn[0] == '1' and sn[1] in even \
and sn[2:6] == '2157' and sn[-1] == '4' \
and all(z not in even for z in sn[6:-1]):
print(n, n // 133)
Ответ:
\(122157574 \,\, 918478\)
\(1021575394 \,\, 7681018\)
\(1421575554 \,\, 10688538\)
\(1821575714 \,\, 13696058\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене