Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 25. Информатика. ЕГЭ. Поляков-8663
- Просмотры: 713
- Изменено: 31 января 2026
Пусть \(S\) – сумма всех простых натуральных делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то считаем значение \(S\) равным нулю. Напишите программу, которая перебирает целые числа, меньшие \(3~840~000,\) в порядке убывания, и ищет среди них такие, для которых значение \(S\) больше \(1~000~000\) и кратно \(7.\) В ответе запишите первые пять найденных чисел в порядке убывания, справа от каждого числа запишите соответствующее ему значение \(S.\)
Решение:
Python
def S(n):
ans = set()
t = n
for i in range(2, int(n**0.5) + 1):
while n % i == 0:
ans.add(i)
n //= i
if n > 1:
ans.add(n)
if t in ans:
ans.remove(t)
return sum(ans) if ans else 0
q = 0
x = 3_840_000
while q < 5:
x -= 1
s = S(x)
if s > 1_000_000 and s % 7 == 0:
print(x, s)
q += 1
Ответ:
\(3839883 \,\, 1279964\)
\(3839762 \,\, 1919883\)
\(3839757 \,\, 1279922\)
\(3839678 \,\, 1919841\)
\(3839631 \,\, 1279880\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


