(Е. Джобс) Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Например, маске \(123{*}4{?}5\) соответствуют числа \(123405\) и \(12300405.\)
Среди натуральных чисел, меньших, чем \(10^{13},\) найдите числа, соответствующие маске \(32{*}54{?}123\) и делящиеся на \(519,\) в которых
Запишите в ответе найденные числа в порядке возрастания, справа от каждого числа укажите частное от его деления на \(519.\)
Решение:
Python
for p in range(0, 5, 2):
start = '32' + '0' * p + '540123'
fin = '32' + '9' * p + '549123'
for n in range(int(start), int(fin) + 1, 1000):
ns = str(n)
if ns[:2] == '32' and ns[-6:-4] == '54' and ns.count('0') == 0 and \
sum(int(z) for z in ns[:len(ns) // 2]) == sum(int(z) for z in ns[len(ns) // 2:]) \
and n % 519 == 0:
print(n, n // 519)
Ответ:
\(321525543123 \,\, 619509717\)
\(322167546123 \,\, 620746717\)
\(323724546123 \,\, 623746717\)
\(324366549123 \,\, 624983717\)
\(325281546123 \,\, 626746717\)
\(325923549123 \,\, 627983717\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене