Рассматриваются целые числа, принадлежащих числовому отрезку \([153732; \, 225674],\) которые представляют собой произведение двух различных простых делителей. В ответе запишите количество таких чисел и такое из них, простые делители которого отличаются друг от друга меньше всего. Если чисел с наименьшей разностью делителей несколько, запишите в ответе наименьшее из них.
Решение:
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
dm = float('inf')
ans = 0
q = 0
for x in range(153732, 225675):
d = factor(x)
if len(d) == 2 and len(set(d)) == 2:
q += 1
u, v = d
if v - u < dm:
dm = v - u
ans = x
print(q, ans)
Ответ: \(15535 \,\, 176399\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене