Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 25. Информатика. ЕГЭ. Основная волна. 11.06.2025-2
- Просмотры: 7114
- Изменено: 31 января 2026
Пусть \(M\) — сумма минимального и максимального простых натуральных делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то значение \(M\) считается равным нулю. Напишите программу, которая перебирает целые числа, большие \(5~400~000,\) в порядке возрастания и ищет среди них такие, для которых \(N\) больше \(60~000\) и является палиндромом, т.е. одинаково читается слева направо и справа налево. В ответе запишите в первом столбце таблицы первые пять найденных — чисел в порядке возрастания, а во втором столбце — соответствующие им значения \(M.\)
Например, для числа \(298\) \(M = 2 + 149 = 151.\)
Количество строк в таблице для ответа избыточно.
Решение:
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_divisors(n):
divs = set()
for x in range(2, int(n**0.5) + 1):
if n % x == 0:
d = n // x
if is_prime(x):
divs.add(x)
if is_prime(d):
divs.add(d)
return min(divs) + max(divs) if divs else 0
#print(sum_divisors(298))
q = 0
n = 5_400_000
while q < 5:
n += 1
M = sum_divisors(n)
if M > 60_000 and str(M) == str(M)[::-1]:
print(n, M)
q += 1
Ответ:
\(5400042\,\, 900009\)
\(5400420 \,\, 90009\)
\(5400866 \,\, 158851\)
\(5406116 \,\, 1351531\)
\(5406420 \,\, 90109\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


