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