Назовём нетривиальным делителем натурального числа его делитель, не равный единице и самому числу. Найдите все натуральные числа, принадлежащие отрезку \([1523467; \, 4157812]\) и имеющие ровно три нетривиальных делителя. Для каждого найденного числа запишите в ответе два числа: само число и его наибольший нетривиальный делитель. Найденные числа расположите в порядке возрастания.
Решение:
Python
def is_prime(n):
if n <= 2:
return n == 2
if n & 1 == 0:
return False
for i in range(3, int(n ** 0.5) + 1, 2):
if n % i == 0:
return False
return True
for d in range(int(1523467**0.25), int(4157812**0.25) + 1):
if is_prime(d) and 1523467 <= d**4 <= 4157812:
print(d**4, d**3)
Ответ:
\(1874161 \,\, 50653\)
\(2825761 \,\, 68921\)
\(3418801 \,\, 79507\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене