Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [11110; 55556], числа, имеющие ровно три различных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите эти три делителя через пробел в формате делитель1.1 делитель1.2 делитель1.3 делитель2.1 делитель2.2 делитель2.3…
def find_div(number): # функция для поиска нетривиальных делителей числа
arr = []
for div in range(2, int(number ** 0.5) + 1):
if number % div == 0:
arr.append(div)
if div != number // div:
arr.append(number // div)
if len(arr) > 3: # для оптимизации выходим из цикла если у числа уже более 3 делителей - такие числа нам не подходят
break
return sorted(arr)
for i in range(11110, 55556 + 1):
arr_div = find_div(i)
if len(arr_div) == 3:
print(*arr_div, end=’ ’)
Ответ: 11 121 1331 13 169 2197