Найдите все натуральные числа, принадлежащие отрезку \([113 000 000; \, 114 000 000],\) у которых ровно три различных чётных делителя. В ответе перечислите найденные числа в порядке возрастания, справа от каждого числа запишите его второй по величине нетривиальный делитель (не равный \(1\) и самому числу). Первым по величине считается меньший из нетривиальных делителей числа.
Решение:
Python
from math import ceil
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
n0 = 113_000_000 // 2
n1 = 114_000_000 // 2
for d in range(ceil(n0 **0.5), int(n1 ** 0.5) + 1):
if is_prime(d):
print(2 * d**2, d)
Ответ:
\(113010578 \,\, 7517\)
\(113191058 \,\, 7523\)
\(113371682 \,\, 7529\)
\(113612738 \,\, 7537\)
\(113733362 \,\, 7541\)
\(113914418 \,\, 7547\)
\(113974802 \,\, 7549\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене