(Е. Джобс) Среди целых чисел, принадлежащих числовому отрезку \([135790; \, 163228],\) найдите числа, сумма натуральных делителей которых больше \(460000.\) Для каждого найденного числа запишите количество делителей и их сумму. В качестве делителей не рассматривать числа \(1\) и исследуемое число. Так, например, для числа \(8\) учитываются только делители \(2\) и \(4.\)
Решение:
Python
for n in range(135790, 163229):
divs = {d for i in range(2, int(n**0.5)+1) if n % i == 0
for d in (i, n // i)}
if sum(divs) > 460_000:
print(len(divs), sum(divs))
Ответ:
\(142 \,\, 473759\)
\(118 \,\, 462767\)
\(126 \,\, 464999\)
\(118 \,\, 461969\)
\(118 \,\, 477071\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене