Обозначим через \(P(N)\) – произведение \(5\) наименьших различных нетривиальных делителей натурального числа \(N\) (не считая единицы и самого числа). Если у числа \(N\) меньше \(5\) таких делителей, то \(P(N)\) считается равным нулю. Найдите \(5\) наименьших натуральных чисел, превышающих \(500~000~000,\) для которых \(P(N)\) оканчивается на \(91\) и не превышает \(N.\) В ответе для каждого найденного числа запишите сначала значение \(P(N),\) а затем – наибольший делитель, вошедший в произведение \(P(N).\)
Решение:
Python
from math import isqrt
q = 0
for n in range(500_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 % 100 == 91 and p <= n:
q += 1
print(p, divs[4])
if q == 5:
break
Ответ:
\(56401891 \,\, 139\)
\(74342691 \,\, 1259\)
\(149721291 \,\, 531\)
\(375291 \,\, 37\)
\(267817291 \,\, 203\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене