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

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [123123;143123]  , числа, имеющие ровно 3  различных натуральных делителя. Выведите такие числа через пробел, в порядке возрастания.

def three_del(n): # функция для проверки ровно ли 3 делителя у числа
    count = 0
    for j in range(1, int(n ** 0.5) + 1):
        if n % j == 0:
            count += 2
            if j == n // j:
                count -= 1
    return count == 3

for i in range(123123, 143123 + 1):
    if three_del(i):
        print(i)

Ответ: 124609 128881 134689 139129
Оцените статью
Я решу все!