Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 25. Информатика. ЕГЭ 2026. Статград. 23.10.2025
- Просмотры: 1854
- Изменено: 23 октября 2025
Пусть \(S\) – сумма всех простых натуральных делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то считаем значение \(S\) равным нулю.
Напишите программу, которая перебирает целые числа, меньшие \(1~325~000,\) в порядке убывания и ищет среди них такие, для которых значение \(S\) не равно нулю, не больше \(30~000\) и кратно \(5.\) В ответе запишите первые пять найденных чисел в порядке убывания.
Например, для числа \(10\) \(S = 2 + 5 = 7.\)
Решение:
Python
import math
def is_prime(n):
if n < 2:
return False
if n == 2:
return True
if n & 1 == 0:
return False
for i in range(3, int(math.sqrt(n)) + 1, 2):
if n % i == 0:
return False
return True
def S(n):
s = set()
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
d = n // i
if is_prime(i):
s.add(i)
if is_prime(d):
s.add(d)
if s:
return sum(s)
return 0
q = 5
n = 1_325_000
while q:
n -= 1
s = S(n)
if s and s <= 30_000 and s % 5 == 0:
print(n)
q -= 1
Ответ:
\(1324994\)
\(1324992\)
\(1324991\)
\(1324986\)
\(1324980\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


