(Е. Джобс) Среди целых чисел, принадлежащих числовому отрезку \([81234; \, 134689],\) найдите числа, имеющие ровно три различных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите в таблицу на экране с новой строки сначала наименьший, а потом наибольший из этих делителей.
Решение:
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
for x in range(ceil(81234**0.25), int(134689**0.25) + 1):
if is_prime(x):
print(x, x**3)
Ответ:
\(17 \,\, 4913\)
\(19 \,\, 6859\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене