Назовём нетривиальным делителем натурального числа его делитель, не равный единице и самому числу. Найдите все натуральные числа, принадлежащие отрезку \([106732567; \, 152673836]\) и имеющие ровно три нетривиальных делителя. Для каждого найденного числа запишите в ответе само число и его наибольший нетривиальный делитель. Найденные числа расположите в порядке возрастания.
Решение:
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(106732567**0.25), int(152673836**0.25) + 1):
if is_prime(x) and 106732567 <= x**4 <= 152673836:
print(x**4, x**3)
Ответ:
\(112550881 \,\, 1092727\)
\(131079601 \,\, 1225043\)
\(141158161 \,\, 1295029\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене