Найдите 5 составных (не простых) чисел больших 800000, таких, что сумма их наименьшего и наибольшего нетривиальных делителей (не считая единицы и самого числа) делится на 138. В ответе приведите 5 наименьших чисел, соответствующих условию, числа запишите в порядке возрастания через пробел.
c = 0 # Счётчик подходящих чисел
for i in range(800001, 900000):
ds = set()
for d in range(2, int(i**0.5)+1):
if i % d == 0:
ds.add(d)
ds.add(i//d)
# Делаем из множества отсортированный список,
# чтобы можно было по индексам найти делители
ds = sorted(list(ds))
if len(ds) > 0 and (ds[0]+ds[-1]) % 138 == 0:
c += 1
print(i)
# Если уже накопилось 5 чисел, то прерываем цикл
if c == 5:
break
Ответ: 800120 800253 800273 800375 800396