Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку \([20789; \, 35672],\) числа, имеющие ровно \(5\) различных делителей. Выведите количество таких чисел и наименьшее их них.
Решение:
Python
from math import ceil
def is_prime(n):
if n <= 2:
return n == 2
if n & 1 == 0:
return False
for d in range(3, int(n ** 0.5) + 1, 2):
if n % d == 0:
return False
return True
ans = []
for x in range(ceil(20789**0.25), int(35672**0.25) + 1):
if is_prime(x):
ans.append(x**4)
print(len(ans), min(ans))
Ответ: \(1 \,\, 28561\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене