Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [193136; 193223], числа, имеющие ровно 6 различных делителей. Выведите для каждого найденного числа два наибольших делителя в порядке возрастания через пробел.
def find_divs(n): # функция, которая возвращает множество делителей числа
divs = set() # Множество для хранения делителей
for i in range(1, 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(193136, 193223 + 1):
divs = sorted(find_divs(i)) # Множество делителей числа i
if len(divs) == 6:
print(divs[-2],divs[-1], end=’ ’)
Ответ: 38635 193175 96598 193196 64401 193203 27601 193207