Назовём нетривиальным делителем натурального числа его делитель, не равный единице и самому числу. Например, у числа 6 есть два нетривиальных делителя: 2 и 3. Найдите все натуральные числа, принадлежащие отрезку [110000;250000] и имеющие ровно три нетривиальных делителя. Для каждого найденного числа запишите в ответе его наибольший нетривиальный делитель. Ответы запишите в порядке возрастания через пробел.
# Функция поиска делителей числа n (не включая 1 и само число)
def find_divs(n):
divs = set() # Множество для хранения делителей
for i in range(2, int(n ** 0.5) + 1):
# Если i делитель n
if n % i == 0:
# Добавляем делитель и парный ему в множество
divs.add(i) # Добавляем i в множество делителей
divs.add(n // i) # Добавляем парный делитель
return divs # Возвращаем множество делителей числа n
for i in range(110000, 250000 + 1):
divs = find_divs(i) # Множество делителей числа i
if len(divs) == 3:
print(max(divs), end=’ ’)
Ответ: 6859