ALEXMATH

Информатика. ЕГЭ

Задания для подготовки

Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников

Перейти к заданиям

Задание 25. Информатика. ЕГЭ. Поляков-4986

Просмотры: 156
Изменено: 8 мая 2026

(М. Фирсов) Простой палиндром – это число, которое читается одинаково слева направо и справа налево, и при этом является простым, то есть не имеет делителей, кроме \(1\) и самого себя. Примеры простых палиндромов – \(101,\) \(131,\) \(151\) и т.д. Все простые палиндромы на отрезке \([100;~1~000~000~000]\) распределили по группам с одинаковыми произведениями цифр (если в числе есть цифра \(0,\) она не учитывается в произведении: для числа \(16061\) произведением цифр будет \(36).\) Найдите \(5\) самых больших по значению чисел в группе с наибольшим количеством элементов. Расположите эти числа в порядке возрастания.

Решение:

Python


from collections import defaultdict
from math import isqrt

def is_prime(n: int) -> bool:
    if n == 2:
        return True
    if n & 1 == 0:
        return False
    for x in range(3, isqrt(n) + 1):
        if n % x == 0:
            return False
    return True

palindroms = []

# Генерируем палиндромы чётной длины и проверяем их на простоту
# Также учитываем, что простые числа не могут оканчиваться на чётные цифры и 5

for t in range(10, 10_000):
    st = str(t)
    if st[0] in '24685':
        continue
    palindroms.append(st + st[::-1])

# Генерируем палиндромы нечётной длины и проверяем их на простоту
# Также учитываем, что простые числа не могут оканчиваться на чётные цифры и 5

for t in range(1, 10000):
    st = str(t)
    if st[0] in '24685':
        continue
    for c in '0123456789':
        palindroms.append(st + c + st[::-1])

pal_gr = defaultdict(list)

for pal in palindroms:
    if is_prime(int(pal)):
        p = 1
        for z in pal:
            if z != '0':
                p *= int(z)
        pal_gr[p].append(int(pal))

max_q = max([len(pal_gr[g]) for g in pal_gr])
ans = [pal_gr[g] for g in pal_gr if len(pal_gr[g]) == max_q][0]
for a in ans[-5:]:
    print(a)

Ответ:
\(923040329\)
\(926000629\)
\(932141239\)
\(934101439\)
\(961212169\)

Обсуждение задания

Здесь пока нет ни одного комментария. Будьте первым!

kege1
kege2
kege3
Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене.

Новое видео

Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»

Поддержать автора сайта!

Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.

Совершая донат, вы соглашаетесь с Условиями использования

Расписание пробников Статграда в 2026/27 учебном году