Найти числа из промежутка , у которых есть ровно 3 натуральных делителя, которые делятся на 17. В ответе запишите эти числа и три минимальных делителя каждого числа (делители должны идти по возрастанию). Ответ запишите в формате:
Число1, Дел1, Дел2, Дел3; Число2, Дел1, Дел2, Дел3; и т.д. (После каждой запятой или точки с запятой ставится пробел, каждая группа (число и его три минимальных делителя) отделяется от следующей группы точкой с запятой, после последней группы никакой знак не ставится).
def divs(x): # функция возврающая список делителей числа
d = set()
for i in range(1,int(x**0.5)+1):
if x % i == 0:
d.add(i)
d.add(x//i)
return sorted(d)
for x in range(750000,930001):
divisors = divs(x)
d = [i for i in divisors if i % 17 == 0] # список, в котором хранятся только делители числа кратные 17
if len(d) == 3: # если таких делителей ровно 3
print(x,divisors[:3]) # вывод числа и 3 его минимальных делителей
Ответ: 756857, 1, 17, 211; 845393, 1, 17, 223; 875993, 1, 17, 227; 891497, 1, 17, 229; 922913, 1, 17, 233