Пусть \(N(k) = 19~500~000 + k,\) где \(k\) – натуральное число. Найдите пять наименьших значений \(k,\) при которых \(N(k)\) нельзя представить в виде произведения трёх натуральных чисел, больших \(1.\) В ответе запишите найденные значения \(k\) в порядке убывания, справа от каждого значения запишите наибольший делитель \(N(k),\) не равный самому числу.
Решение:
Python
from math import isqrt
def is_prime(n):
if n == 2:
return True
if n & 1 == 0:
return False
for x in range(3, isqrt(n) + 1, 2):
if n % x == 0:
return False
return True
q = 0
ans = []
N = 19_500_000
k = 0
while q < 5:
k += 1
t = N + k
if is_prime(t):
ans.append((k, 1))
q += 1
continue
for d in range(2, isqrt(t) + 1):
if t % d == 0:
if is_prime(t // d):
ans.append((k, t // d))
q += 1
break
for k, d in ans[::-1]:
print(k, d)
Ответ:
\(11 \,\, 62701\)
\(9 \,\, 6500003\)
\(7 \,\, 201031\)
\(2 \,\, 9750001\)
\(1 \,\, 182243\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене