(Р. Сорокин) Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Например, маске \(1{@}9{?}\) соответствуют числа \(190,\) \(13591,\) \(1753992.\)
Найдите все натуральные числа, которые не превышают \(10^{11},\) соответствуют маске \(78{?}56{@}321\) и делятся на \(279.\) В ответе запишите все найденные числа в порядке возрастания, а справа от каждого число – частное от деления этого числа на \(279.\)
Решение:
Python
from itertools import product
res = []
for k in range(4):
for p in product('13579', repeat=k):
for x in range(10):
n = int(f'78{x}56{"".join(p)}321')
if n % 279 == 0:
res.append((n, n // 279))
res.sort()
for n, d in res:
print(n, d)
Ответ:
\(788565321 \,\, 2826399\)
\(7855635321 \,\, 28156399\)
\(7865679321 \,\, 28192399\)
\(78156939321 \,\, 280132399\)
\(78856113321 \,\, 282638399\)
\(78956553321 \,\, 282998399\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене