Задача к ЕГЭ по информатике на тему «делители числа» №4

Напишите программу, которая ищет среди чисел, принадлежащих числовому отрезку [88535; 153373], числа, имеющие ровно 5 различных нечётных натуральных делителей. Запишите такие числа через пробел, в порядке возрастания.

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(88535, 153373 + 1):
    d = [x for x in divs(i) if x % 2 != 0] #список, в котором храняться только нечётные делители числа
    if len(d) == 5:
        print(i)

Ответ: 114244 117128 130321
Оцените статью
Я решу все!