(А. Сражаев) Напишите программу, которая перебирает целые числа, большие \(700~000,\) в порядке возрастания и ищет среди них числа, которые являются степенью простого числа с натуральным показателем степени, большим \(1.\) В ответе в первом столбце таблицы запишите первые \(5\) найденных чисел в порядке возрастания, а во втором столбце – соответствующие им простые числа (основания степеней).
Решение:
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 = 700_000
while q < 5:
n += 1
div = factor(n)
if len(div) > 1 and len(set(div)) == 1:
print(n, min(div))
q += 1
Ответ:
\(703921 \,\, 839\)
\(704969 \,\, 89\)
\(707281 \,\, 29\)
\(727609 \,\, 853\)
\(734449 \,\, 857\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене