*(К. Багдасарян) Напишите программу, которая перебирает целые числа, большие \(4~000~000,\) в порядке возрастания и ищет среди них числа, представленные в виде произведения простых множителей, каждый из которых повторяется по 3 раза. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце – наибольший простой сомножитель.
Решение:
Python
def factor(x):
ans = []
for i in range(2, int(x ** 0.5) + 1):
while x % i == 0:
ans.append(i)
x //= i
if x > 1:
ans.append(x)
return ans
q = 0
n = 4_000_000
while q < 5:
n += 1
div = factor(n)
nd = {x for x in div if div.count(x) == 3}
if len(nd) == len(set(div)):
print(n, max(div))
q += 1
Ответ:
\(4019679 \,\, 53\)
\(4173281 \,\, 23\)
\(4330747 \,\, 163\)
\(4492125 \,\, 11\)
\(4574296 \,\, 83\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене