(Л. Шастин) Среди чисел, больших \(520000,\) найти такие, для которых сумма всех нетривиальных делителей (не считая единицы и самого числа) образует число-палиндром (например, число \(1221:\) если его «перевернуть», получается то же самое число). Вывести первые пять чисел, удовлетворяющих вышеописанному условию, справа от каждого числа вывести его максимальный нетривиальный делитель.
Решение:
Python
from math import isqrt
q = 0
for n in range(520001, 10**10):
divs = {d for x in range(2, isqrt(n) + 1) if n % x == 0
for d in (x, n // x)}
sd = str(sum(divs))
if divs and sd == sd[::-1]:
print(n, max(divs))
q += 1
if q == 5:
break
Ответ:
\(520211 \,\, 16781\)
\(520993 \,\, 47363\)
\(521653 \,\, 47423\)
\(521947 \,\, 16837\)
\(522077 \,\, 22699\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене