Назовём нетривиальным делителем натурального числа его делитель, не равный единице и самому числу. Найдите все натуральные числа, принадлежащие отрезку \([12034679; \, 23175821]\) и имеющие ровно три нетривиальных делителя. Для каждого найденного числа запишите в ответе само число и его наибольший нетривиальный делитель. Найденные числа расположите в порядке возрастания.
Решение:
Python
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
for x in range(int(12034679**0.25), int(23175821**0.25) + 1):
if is_prime(x) and 12034679 <= x**4 <= 23175821:
print(x**4, x**3)
Ответ:
\(12117361 \,\, 205379\)
\(13845841 \,\, 226981\)
\(20151121 \,\, 300763\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене