*(Д. Статный) Среди натуральных чисел, принадлежащих промежутку \([35~000~000; \, 100~000~000],\) найдите все числа, имеющие ровно \(3\) делителя, отличных от \(1\) и самого числа. В ответ запишите найденные числа в порядке возрастания, справа от каждого числа запишите его максимальный делитель, отличный от самого числа.
Решение:
Python
from math import isqrt
def is_prime(n):
if n <= 2:
return n == 2
if n & 1 == 0:
return False
for x in range(3, isqrt(n) + 1, 2):
if n % x == 0:
return False
return True
for x in range(int(35_000_000**0.25) + 1, int(100_000_000**0.25) + 1):
if is_prime(x):
print(x**4, x**3)
Ответ:
\(38950081 \,\, 493039\)
\(47458321 \,\, 571787\)
\(62742241 \,\, 704969\)
\(88529281 \,\, 912673\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене