Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку , числа, имеющие ровно три различных натуральных делителя, не считая единицы и самого числа. Программа должна вывести количество таких чисел.
def divs(n): # функция, которая возращает количество делителей числа
k = 0
for i in range(1, int(n**0.5) + 1):
if n % i == 0:
k += 1
if i != n // i:
k += 1
if k > 5: # для оптимизации выходим из функции для текущего числа натуральных делителей, включая 1 и само число больше 5
return 0
return k
ans = 0
for i in range(100010, 321342):
if divs(i) == 5:
ans += 1
print(ans)
Ответ: 2