(Р. Сорокин) Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Например, маске \(1{\#}9{?}\) соответствуют числа \(190,\) \(146891.\)
Найдите все натуральные числа, которые не превышают \(10^{11},\) соответствуют маске \(123{\#}45{?}67\) и делятся на \(257.\) В ответе запишите все найденные числа в порядке возрастания, а справа от каждого число – частное от деления этого числа на \(257.\)
Решение:
Python
from itertools import product
res = []
for k in range(4):
for p in product('02468', repeat=k):
for x in range(10):
n = int(f'123{"".join(p)}45{x}67')
if n % 257 == 0:
res.append((n, n // 257))
res.sort()
for n, d in res:
print(n, d)
Ответ:
\(123445067 \,\, 480331\)
\(1232245867 \,\, 4794731\)
\(1238645167 \,\, 4819631\)
\(12386045867 \,\, 48194731\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене