*(А. Сражаев) Напишите программу, которая перебирает целые числа, превышающие \(9~200~000,\) которые можно представить в виде произведения \(a^3 \cdot b^3,\) где \(a\) и \(b\) – два различных простых натуральных числа, причём хотя бы одно из которых содержит цифру \(3.\) В ответе запишите в первом столбце первые \(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 = ceil(9_200_000 ** (1/3))
q = 0
while q < 5:
d = factor(n)
if len(d) == 2 and len(set(d)) == 2 and any('3' in str(x) for x in d):
print(n**3, sum(d))
q += 1
n += 1
Ответ:
\(9663597 \,\, 74\)
\(9938375 \,\, 48\)
\(10218313 \,\, 38\)
\(10503459 \,\, 76\)
\(10793861 \,\, 30\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене