ex exxam.ru
Задания25 из 27
01 Графы: схема дорог и таблица расстояний 02 Логика: фрагмент таблицы истинности, порядок столбцов 03 Базы данных: поиск информации в связанных таблицах 04 Кодирование: условие Фано и двоичное дерево кода 05 Двоичная запись числа: алгоритм строит новое число 06 Исполнитель Черепаха: движение и подсчёт точек 07 Информационный объём: звук и изображения 08 Подсчёт слов: лексикографический список и перебор 09 Электронные таблицы: подсчёт строк по условию 10 Текстовый документ: поиск сочетаний букв по условию 11 Объём данных: мощность алфавита и кодирование 12 Исполнитель МТ (машина на ленте): чтение программы 13 IP-адреса и маски сетей TCP/IP 14 Арифметические выражения и системы счисления 15 Логика: истинность выражения с отрезками и предикатами 16 Рекурсивные функции: чтение и счёт по формулам 17 Обработка целочисленной информации: поиск пар в файле 18 Динамическое программирование: Робот-сборщик монет 19 Игры: выигрышная стратегия первым ходом (куча) 20 Игры: победа Пети своим вторым ходом (куча) 21 Игры: победа Вани первым или вторым ходом (куча) 22 Многопоточные вычисления: максимальное число одновременных процессов 23 Динамика: количество программ исполнителя 24 Обработка символьных строк: поиск подстроки по условию 25 Перебор чисел: делители и сумма M текущее26 Задание 26 нужны файлы27 Задание 27 нужны файлы
25
1 балл демоверсия ЕГЭ-2026

Перебор чисел: делители и сумма M

Задание 25 · Билет 1 · ЕГЭ по информатике

Билет 1 — демоверсия ЕГЭ-2026; остальные билеты — задания в формате экзамена (открытый сборник или тренировочные по образцу). Это тренировочные материалы, а не официальные КИМ. Ответы пересчитаны и сверены.

Условие

Пусть — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение признаётся равным нулю.

Напишите программу, которая перебирает целые числа, большие 800000, в порядке возрастания и ищет среди них такие, для которых оканчивается на 4.

Например, для числа 20: .

Вопрос. Запишите в таблицу первые пять найденных чисел в порядке возрастания и соответствующие им значения M.

Обозначения

Пусть — очередное перебираемое число. Пусть — его минимальный собственный делитель (наименьшее , на которое делится без остатка); тогда максимальный делитель равен (поделив на , получаем парный делитель, ведь ), а — сумма минимального и максимального делителей.

Попробуйте программой

Необязательно, но удобно: напишите здесь свой код на Python, который найдёт ответ. Если не получится — откройте решение и вставьте готовую программу одной кнопкой.

Решите программой на Python

в браузере

Напишите свой код, который найдёт ответ, и нажмите «Выполнить». Горячая клавиша запуска: Ctrl/⌘ + Enter.

Результат
Здесь появится вывод print().

Разбор задачи

Задание 25 ЕГЭ по информатике — перебор чисел и делители. Нужно просматривать числа больше порога в порядке возрастания и находить первые пять таких, у которых значение оканчивается на заданную цифру.

Руками такой перебор не сделать, поэтому пишут короткую программу: для каждого числа находят делители и считают , а первые пять подходящих чисел выводят таблицей с их значениями.

Что важно знать

  • Задание высокого уровня — оценивается в 1 балл
  • Ответ — таблица: первые пять чисел в порядке возрастания и соответствующие им значения
  • У очередного числа минимальный собственный делитель ищут перебором от 2 до , а максимальный равен

План решения

  1. Перепишите условие: что такое и какой цифрой должно оканчиваться значение.
  2. У очередного числа найдите минимальный собственный делитель и посчитайте .
  3. Перебирайте числа больше порога в порядке возрастания и проверяйте последнюю цифру значения.
  4. Соберите первые пять подходящих чисел и запишите таблицей «число — значение».
Не знаешь, как решать?

Потренируйся перебирать числа: разбери поиск делителей по шагам, а затем напиши программу, которая найдёт первые пять подходящих чисел.

Открыть тренажёр

Решение

Теория с нуля: что нужно знать
1. О чём задача
Нужно перебрать целые числа больше порога по возрастанию и найти первые пять таких, у которых значение оканчивается на заданную цифру. Если собственных делителей нет (число простое), то .
2. Как найти делители
Минимальный собственный делитель — наименьшее , на которое делится без остатка; тогда максимальный собственный делитель равен , а их сумма — . Пример: : минимальный делитель 2, максимальный 10, поэтому .
3. Почему максимальный делитель — это n/d

Мы нашли минимальный собственный делитель : число делится на без остатка, и в частном получается целое число. Обозначим его . Тогда .

То есть — это произведение и , поэтому тоже делит без остатка (). Вот откуда берётся пара: разделив на , мы получили третье число , и оно автоматически тоже делитель, ведь . Значит, делится и на , и на — эти два числа и есть пара делителей.

В каждой паре чем меньше один делитель, тем больше второй (произведение всегда равно ). Поэтому минимальному делителю отвечает максимальный — . Пример: : , ; проверка , поэтому .

4. Почему нужна программа
Числа больше 800000 перебирать руками нельзя. На экзамене пишут программу, которая идёт по числам в порядке возрастания, для каждого считает и печатает первые пять подходящих чисел с их значениями.

Решение

открыто шагов: 6 из 6
1 Шаг 1
Подход. Перебираем числа больше 800000. Минимальный собственный делитель — наименьшее , на которое делится ; максимальный равен ; их сумма . Оставляем те числа, у которых оканчивается на 4.
2 Шаг 2
Программа ищет для каждого минимальный собственный делитель , затем считает и проверяет последнюю цифру .
3 Шаг 3
800004: делители 2 и 400002 → (оканчивается на 4) ✓
4 Шаг 4
800009: минимальный делитель 7 → ✓
5 Шаг 5
800013: делитель 3 → ✓; 800024: ✓; 800033: ✓.
6 Шаг 6
Это первые пять подходящих чисел; ответ записывают таблицей «число — M».

Программа на Python

# M — сумма минимального и максимального собственных делителей
# (делителей, кроме 1 и самого числа). Если делителей нет, M = 0.
def M_value(n):
    d = None
    for k in range(2, int(n ** 0.5) + 1):   # ищем минимальный делитель
        if n % k == 0:
            d = k                          # первый найденный — минимальный
            break
    if d is None:                          # простого числа нет в списке
        return 0                           # собственных делителей нет
    return d + n // d                      # минимальный + максимальный

found = []                                 # первые пять подходящих чисел
n = 800001                                 # перебираем числа больше 800000
while len(found) < 5:
    M = M_value(n)
    if M % 10 == 4:                        # M оканчивается на 4
        found.append((n, M))
    n += 1

for x, M in found:                         # печатаем число и M
    print(x, M)

Правильный ответ этого билета: Первые пять найденных чисел и их M:
ЧислоM
800004400004
800009114294
800013266674
800024400014
80003361554
Проверка: независимый перебор даёт числа 800004, 800009, 800013, 800024, 800033 и указанные значения M. Совпадает с эталоном демоверсии.

Проверка

Типовые ошибки и проверка
  • Учитывают 1 и само число как делители, хотя их исключают.
  • Ищут максимальный делитель перебором до — программа работает слишком долго; его берут как .
  • Путают условия: « оканчивается на 4» — это последняя цифра , а не делимость.
  • Начинают перебор с 800000 включительно, хотя нужно .
  • Проверка: для найденных чисел вручную проверьте делители и пересчитайте .

Режимы

Сейчас открыт режим обучения: теория, разбор и ответ видны. Скоро появится режим проверки — только условие и поле ответа, без подсказок.

Практикум Все задания Режим проверки — скоро

Частые вопросы

Что такое M в задании 25?
Это сумма минимального и максимального собственных делителей числа, кроме 1 и самого числа. У простого числа собственных делителей нет, поэтому .
Как быстро найти делители?
У очередного числа минимальный собственный делитель ищут перебором от 2 до ; как только нашли — максимальный равен .
Почему ответ — таблица?
В задании просят выписать первые пять найденных чисел и их значения . Поэтому удобно сразу печатать пары «число — значение».
С какого числа начинать перебор?
Со следующего за порогом: если нужны числа больше 800000, первый кандидат — 800001.