(Е. Джобс) Для интервала \([33333; \, 55555]\) найдите числа, которые кратны сумме своих простых делителей. В качестве ответа приведите числа, для которых сумма простых делителей больше \(250,\) – сначала найденное число, затем сумму его простых делителей. Примечание: само число в качестве делителя не учитывается.
Решение:
Python
def factor(n):
f = []
for i in range(2, int(n**0.5)+1):
while n % i == 0:
f.append(i)
n //= i
if n > 1:
f.append(n)
return f
for x in range(33333, 55556):
divs = set(factor(x))
if x in divs:
continue
s = sum(divs)
if x % s == 0 and s > 250:
print(x, s)
Ответ:
\(38086 \,\, 278\)
\(44998 \,\, 302\)
\(53332 \,\, 268\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене