Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку , числа, имеющие ровно
различных натуральных делителя не считая единицы и самого числа. Выведите количество таких чисел.
Решение 1
def countDelitel(n):
count = 0
for j in range(2, int(n ** 0.5) + 1):
if n % j == 0:
count += 2
if j == n // j:
count -= 1
if count > 3:
return False
if count == 3:
return True
return False
k = 0
for i in range(123123, 321322):
if countDelitel(i):
k += 1
print(k)
Решение 2
def prime(n):
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
ans = 0
for i in range(123123,321322):
if int(i ** 0.25) == i ** 0.25 and prime(i ** 0.25):
ans += 1
print(ans)
Ответ: 2