Обозначим через \(P(N)\) – произведение \(5\) наименьших различных нетривиальных делителей натурального числа \(N\) (не считая единицы и самого числа). Если у числа \(N\) меньше \(5\) таких делителей, то \(P(N)\) считается равным нулю. Найдите \(5\) наименьших натуральных чисел, превышающих \(200~000~000,\) для которых \(P(N)\) оканчивается на \(1\) и не превышает \(N.\) В ответе для каждого найденного числа запишите сначала значение \(P(N),\) а затем – наибольший делитель, вошедший в произведение \(P(N).\)
Решение:
Python
from math import isqrt
q = 0
for n in range(200_000_001, 10**100):
divs = list({d for x in range(2, isqrt(n) + 1) if n % x == 0
for d in (x, n // x)})
if len(divs) >= 5:
divs.sort()
p = 1
for x in divs[:5]:
p *= x
if p % 10 == 1 and p <= n:
q += 1
print(p, divs[4])
if q == 5:
break
Ответ:
\(5000211 \,\, 171\)
\(5000211 \,\, 171\)
\(391391 \,\, 23\)
\(122124411 \,\, 227\)
\(1712421 \,\, 81\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене