Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 25. Информатика. ЕГЭ. Поляков-4118
- Просмотры: 389
- Изменено: 1 марта 2026
(А. Кабанов) Обозначим через \(M\) разность максимального и минимального числа среди простых делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то считаем значение \(M\) равным нулю. Напишите программу, которая перебирает целые числа, большие \(450000,\) в порядке возрастания и ищет среди них такие, для которых значение \(M\) при делении на \(29\) даёт в остатке \(11.\) Выведите первые \(4\) найденных числа в порядке возрастания, справа от каждого числа запишите соответствующее значения \(M.\)
Решение:
Python
def prime_divs(n):
res = set()
for i in range(2, int(n**0.5) + 1):
while n % i == 0:
res.add(i)
n //= i
if n != 1:
res.add(n)
return res
q = 0
for x in range(450001, 10**10):
d = prime_divs(x)
d.discard(x)
M = max(d) - min(d) if d else 0
if M % 29 == 11:
print(x, M)
q += 1
if q == 4:
break
Ответ:
\(450006 \,\, 417\)
\(450038 \,\, 5231\)
\(450047 \,\, 2650\)
\(450051 \,\, 736\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


