Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [198374; 295381], числа,имеющие ровно 7 различных нечётных натуральных делителей. Для каждого найденного числа выведите эти 7 делителей на экран, делители каждого нового числа выводить с новой строки. Делители в строке должны следовать в порядке убывания.
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 i in range(198374, 295382):
d = [x for x in divs(i) if x % 2 != 0] #список, в котором храняться только нечётные делители числа
if len(d) == 7:
print(d[::-1]) # вывод списка делителей в обратном порядке
Ответ: 117649 16807 2401 343 49 7 1 15625 3125 625 125 25 5 1