Среди целых чисел, принадлежащих числовому отрезку \([412567; \, 473265],\) найдите числа, которые представляют собой произведение двух различных простых делителей. Запишите в ответе количество таких чисел и то из них, которое ближе всего к их среднему арифметическому.
Решение:
Python
def factor(n):
div = []
for i in range(2, int(n ** 0.5) + 1):
while n % i == 0:
div.append(i)
n //= i
if n > 1:
div.append(n)
return div
tmp = []
for x in range(412567, 473266):
d = factor(x)
if len(d) == 2 and len(set(d)) == 2:
tmp.append(x)
avg = sum(tmp) / len(tmp)
dm = float('inf')
a = 0
for x in tmp:
if abs(x - avg) < dm:
dm = abs(x - avg)
a = x
print(len(tmp), a)
Ответ: \(12593 \,\, 442939\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене