Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 25. Информатика. ЕГЭ. Шастин. 1.6.2025
- Просмотры: 1273
- Изменено: 2 июня 2025
(Л. Шастин) Обозначим через \(M\) сумму двух минимальных и двух максимальных простых делителей целого числа, не считая самого числа. Если количество простых делителей у числа меньше \(4,\) то считаем значение \(M\) равным нулю. Напишите программу, которая перебирает целые числа, большие \(456~789,\) в порядке возрастания и ищет среди них такие, для которых значение \(M\) при делении на \(114\) даёт в остатке \(39.\)
Выведите первые \(5\) найденных чисел в порядке возрастания, справа от каждого числа запишите соответствующее значения \(M.\)
Количество строк для записи ответа избыточно.
Решение:
Python
def is_prime(n):
if n == 2:
return True
for x in range(2, int(n**0.5) + 1):
if n % x == 0:
return False
return True
def sum_div(n):
prime_divisors = set()
for x in range(2, int(n ** 0.5) + 1):
if n % x == 0:
d = n // x
if is_prime(x):
prime_divisors.add(x)
if is_prime(d):
prime_divisors.add(d)
if len(prime_divisors) < 4:
return 0
p = sorted(list(prime_divisors))
return p[0] + p[1] + p[-2] + p[-1]
n = 456_789
q = 0
while q < 5:
n += 1
M = sum_div(n)
if M % 114 == 39:
print(n, M)
q += 1
Ответ:
\(457366 \,\, 381\)
\(457512 \,\, 1749\)
\(457638 \,\, 951\)
\(457722 \,\, 495\)
\(457786 \,\, 1749\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


