Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [412500; 412670], числа, имеющие ровно шесть различных натуральных делителей. Для каждого найденного числа запишите эти шесть делителей в порядке возрастания через пробел. Ответ вводить в таком формате: делитель1 … делитель6 делитель1 … делитель6…
def divs(x): # функция, которая возвращает список делителей
d = set()
for i in range(1,int(x**0.5)+1):
if x % i == 0: # если число i является числа x
d.add(i) # добавляем делитель i
d.add(x//i) # добавляем обратный делитель x//i
return sorted(d)
for x in range(412500,412671):
if len(divs(x)) == 6: # проверка, что у числа ровно 6 делителей
print(divs(x))
Ответ: 1 13 169 2441 31733 412529 1 7 49 8419 58933 412531 1 2 4 103141 206282 412564 1 3 9 45841 137523 412569