Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 25. Информатика. ЕГЭ. Поляков-8846
- Просмотры: 366
- Изменено: 14 февраля 2026
(Ю. Дрождинин) Пусть \(S\) – сумма всех различных простых натуральных делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то считаем значение \(S\) равным нулю. Напишите программу, которая перебирает целые числа, меньшие \(7~612~000,\) в порядке убывания, и ищет среди них такие, для которых значение \(S\) больше \(3~500~000\) и оканчивается на \(863.\) В ответе запишите первые пять найденных чисел в порядке возрастания, справа от каждого числа запишите соответствующее ему значение \(S.\)
Решение:
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
q = 0
n = 7_612_000
res = []
while q < 5:
n -= 1
f = set(factor(n))
f.discard(n)
s = sum(f)
if s > 3_500_000 and s % 1000 == 863:
res.append((n, s))
q += 1
res.sort()
for n, s in res:
print(n, s)
Ответ:
\(7593722 \,\, 3796863\)
\(7601722 \,\, 3800863\)
\(7605722 \,\, 3802863\)
\(7607722 \,\, 3803863\)
\(7611722 \,\, 3805863\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


