*(А. Сражаев) Напишите программу, которая перебирает целые числа, превышающие \(7~700~000,\) которые можно представить в виде произведения \(a^2 \cdot b^3,\) где \(a\) и \(b\) – два различных простых натуральных числа. В ответе запишите в первом столбце первые \(5\) найденных чисел в порядке возрастания, а во втором столбце — сумму чисел \(a\) и \(b.\)
Решение:
Python
from math import isqrt, ceil
def factor(n):
divs = []
for x in range(2, isqrt(n) + 1):
while n % x == 0:
divs.append(x)
n //= x
if n > 1:
divs.append(n)
return divs
n = 7_700_000
q = 0
while q < 5:
n += 1
d = factor(n)
if len(d) == 5 and len(set(d)) == 2 and d.count(d[0]) in (2, 3):
print(n, sum(set(d)))
q += 1
Ответ:
\(7730312 \,\, 985\)
\(7820743 \,\, 158\)
\(7856648 \,\, 993\)
\(7875125 \,\, 256\)
\(7902387 \,\, 544\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене