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

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

Просмотры: 252
Изменено: 28 февраля 2026

**(С. Чайкин) Найдите пять наибольших натуральные чисел \(N,\) не превышающих \(10^{11},\) которые являются антипростыми числами. В ответе перечислите найденные числа в порядке возрастания, справа от каждого числа запишите число его делителей.

Примечание: Антипростое число – это натуральное число, количество делителей которого больше чем у любого натурального числа меньше его.

Решение:

Python


PRIMES = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]

def find_hcn(lim):
    hcn_candidates = []

    def generate_choices(index, curr, curr_divs, last_p):
        """
        Рекурсивная функция для подбора степеней простых чисел.
        index: индекс простого числа из списка PRIMES
        curr: текущее значение числа
        curr_divs: количество делителей текущего числа
        last_p: показатель степени предыдущего простого числа (для соблюдения a_i >= a_{i+1})
        """
        # Добавляем текущее число в список кандидатов
        hcn_candidates.append((curr, curr_divs))

        # Берем следующее простое число
        if index >= len(PRIMES):
            return

        p = PRIMES[index]
        # Пытаемся возвести текущее простое число в степень e
        # e не может быть больше степени предыдущего простого числа
        for e in range(1, last_p + 1):
            new_n = curr * (p ** e)
            if new_n > lim:
                break

            # Количество делителей для n = p1^a1 * p2^a2... вычисляется как (a1+1)*(a2+1)...
            new_divs = curr_divs * (e + 1)
            generate_choices(index + 1, new_n, new_divs, e)

    # Запускаем рекурсию: начинаем с числа 1, у которого 1 делитель,
    # максимальная возможная степень ограничена логарифмом (60 для двойки)
    generate_choices(0, 1, 1, 60)

    # Сортируем кандидатов по значению числа
    hcn_candidates.sort()

    # Отбираем только те числа, которые действительно являются "антипростыми"
    # (количество делителей строго больше, чем у любого меньшего числа)
    final_hcn = []
    max_divs = -1

    for n, divisors in hcn_candidates:
        if divisors > max_divs:
            final_hcn.append((n, divisors))
            max_divs = divisors

    return final_hcn

result = find_hcn(10**11)

for n, divs in result[-5:]:
    print(n, divs)

Ответ:
\(48886437600 \,\, 3456\)
\(64250746560 \,\, 3584\)
\(73329656400 \,\, 3600\)
\(80313433200 \,\, 3840\)
\(97772875200 \,\, 4032\)

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

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

Новое видео
Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»
Поддержать автора сайта!
​ Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.
Расписание пробников Статграда в 2026/27 учебном году
Информатика ОГЭ 9 класс
  1. 13 октября 2026 года
  2. 3 декабря 2026 года
  3. 21 января 2027 года
  4. 19 февраля 2027 года
  5. 23 марта 2027 года
  6. 27 апреля 2027 года
Математика ОГЭ 9 класс
  1. 23 сентября 2026 года
  2. 1 декабря 2026 года
  3. 22 января 2027 года
  4. 3 марта 2027 года
  5. 14 апреля 2027 года
Физика ОГЭ 9 класс
  1. 19 октября 2026 года
  2. 10 декабря 2026 года
  3. 29 января 2027 года
  4. 17 марта 2027 года
  5. 22 апреля 2027 года
Математика ЕГЭ 10 класс
  1. 3 февраля 2027 года
  2. 11 мая 2027 года
Информатика ЕГЭ 11 класс
  1. 22 октября 2026 года
  2. 15 декабря 2026 года
  3. 26 января 2027 года
  4. 2 марта 2027 года
  5. 13 апреля 2027 года
Математика ЕГЭ 11 класс
  1. 30 сентября 2026 года
  2. 17 декабря 2026 года
  3. 9 февраля 2027 года
  4. 16 марта 2027 года
  5. 21 апреля 2027 года
Физика ЕГЭ 11 класс
  1. 14 октября 2026 года
  2. 16 декабря 2026 года
  3. 4 февраля 2027 года
  4. 12 марта 2027 года
  5. 9 апреля 2027 года