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

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [300000;333000], числа, имеющие ровно 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)
count = 0 # кол-во подходящих чисел
for x in range(300000,333001):
    if len(divs(x)) == 3: # если у текущего числа 3 делителя
        count += 1
print(count)

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