(А. Богданов) Назовём маской числа последовательность цифр, в которой может встречаться символ «\(\#\)», означающий любое число, которое делится без остатка на куб суммы своих цифр. Среди натуральных чисел, не превышающих \(10^{10},\) найдите все числа, соответствующие маске \(1234{\#},\) делящиеся на \(137\) без остатка. В ответе запишите все найденные числа в порядке возрастания, справа от каждого числа – частное от его деления на \(137.\)
Решение:
Python
st = 12340 + (137 - 12340 % 137) % 137
for n in range(st, 1234999999, 137):
sn = str(n)
if sn[:4] == '1234':
tail = sn[4:]
sum_dig = sum(int(z) for z in tail)
if sum_dig and int(tail) % sum_dig**3 == 0:
print(n, n // 137)
Ответ:
\(12340001 \,\, 90073\)
\(123400010 \,\, 900730\)
\(123437000 \,\, 901000\)
\(1234000100 \,\, 9007300\)
\(1234370000 \,\, 9010000\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене