(Б.С. Михлин) Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку \([573213; \, 575340]\) число с минимальной суммой делителей, имеющее ровно четыре делителя. Для найденного числа выведите сумму делителей и наибольший нетривиальный делитель (не равный самому числу).
Решение:
Python
ms = float('inf')
dnt = 0
for n in range(573213, 575341):
ds = {d for i in range(1, int(n**0.5) + 1) if n % i == 0
for d in (i, n // i)}
if len(ds) == 4 and sum(ds) < ms:
div = sorted(list(ds))
ms = sum(ds)
dnt = div[-2]
print(ms, dnt)
Ответ: \(574992 \,\, 967\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене