Задание 25: Обработка целочисленной информации: маски и делители
Теория к заданию № 25 ЕГЭ-2027 по информатике: коротко правило, приём решения по шагам, два разобранных примера из банка «Ранга» и ошибки, на которых теряют балл.
Что проверяет задание 25
- Что проверяет
- Умение создавать собственные программы (10–20 строк) для обработки целочисленной информации: числа по маске с делимостью, числа с заданными делителями.
- Баллы
- до 1 балл из 29 первичных
- Уровень
- высокий
- Время
- около 20 минут (примерное время по спецификации ФИПИ; на весь экзамен — 235 минут)
- Формат
- краткий ответ; нужен компьютер (программа, таблица или файл)
Правило и теория
- Маска: «?» — ровно одна цифра, «*» — любая последовательность цифр (в том числе пустая). В Python: fnmatch(str(x), mask).
- Перебор кратных: for x in range(d, 10**10 + 1, d) — шаг d сразу даёт делимость, но для больших диапазонов лучше строить числа по маске.
- Делители ищут до √n: если i делит n, то и n // i — делитель; полный квадрат не считай дважды.
- «Ровно k делителей», «сумма наименьшего и наибольшего нетривиального делителя» — функции от списка делителей.
- Ответ — пары чисел в порядке возрастания первого числа, по одной паре в строке.
Приём решения по шагам
- Определи диапазон перебора и минимальный шаг (кратность).
- Напиши функцию проверки (маска, делители) и проверь её на нескольких числах вручную.
- Перебери числа, собери подходящие и отсортируй.
- Выведи нужное число строк в требуемом формате.
Два разобранных примера из банка «Ранга»
Сначала реши сам — потом раскрой ответ и разбор. Ответы взяты из банка, по которому работает тренажёр, и проверены.
Пример 1
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 52*1?7 соответствуют числа 52107 и 5288137. Среди натуральных чисел, не превышающих 10¹⁰, найди все числа, соответствующие маске 4817?*16?, делящиеся на 2494 без остатка. В ответе запиши в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие им результаты деления этих чисел на 2494. Количество строк в таблице для ответа избыточно.
Показать ответ и разбор
Ответ: 4817091168 1931472 4817510160 1931640 4817717162 1931723 4817924164 1931806
1) Программа: for k in range(2494, 10**10 + 1, 2494): если re.match(r'^4817\d\d*16\d$', str(k)) — вывести k и k // 2494. 2) Проверка другим способом: порождаем все числа по маске (каждый «?» — 10 цифр, «*» — цепочки длиной от 0, пока число не длиннее 11 знаков) и оставляем делящиеся на 2494. Списки совпадают. 3) Найдено 4 чисел: 4817091168 1931472 4817510160 1931640 4817717162 1931723 4817924164 1931806 Ответ: 4817091168 1931472 4817510160 1931640 4817717162 1931723 4817924164 1931806
Карточка банка «Ранга» informatics-25-8 — авторское тренировочное задание в формате ЕГЭ, ключ проверен. Решить похожее в тренажёре
Пример 2
Пусть M(N) — сумма наименьшего и наибольшего натуральных делителей целого числа N, не считая единицы и самого числа. Если таких делителей у числа нет, то считается, что M(N) = 0. Найди пять наименьших натуральных чисел, превышающих 8256130, для которых M(N) оканчивается на 9. В ответе запиши найденные числа в порядке возрастания, справа от каждого числа — соответствующее значение M(N).
Показать ответ и разбор
Ответ: 8256134 4128069 8256154 4128079 8256174 4128089 8256194 4128099 8256214 4128109
Шаг 1. Наименьший делитель, не равный 1, — наименьший простой делитель p числа; наибольший делитель, не равный самому числу, — N / p. Шаг 2. Поэтому достаточно найти p перебором до √N; если делителей нет (N простое), M(N) = 0. Шаг 3. Перебираем N от 8256131 вверх и отбираем первые пять чисел с нужным свойством. Шаг 4. Записываем числа и значения M(N). Ответ: 8256134 4128069 8256154 4128079 8256174 4128089 8256194 4128099 8256214 4128109.
Карточка банка «Ранга» informatics-25-16 — авторское тренировочное задание в формате ЕГЭ, ключ проверен. Решить похожее в тренажёре
Типичные ошибки
- Считают делители до n, а не до √n, — программа работает слишком долго.
- Включают 1 и само число, когда их нужно исключить.
- Неверно понимают «*» (может быть пустой) и «?» (ровно одна цифра).
- Выводят пары не в порядке возрастания.
Тренироваться: 30 заданий этого номера
Тренажёр «Ранга»: условие, проверка ответа сразу и разбор по шагам. Первое задание — без регистрации, дальше — в кабинете ученика.
Решать задание 25Частые вопросы о задании 25
- Сколько баллов дают за задание 25 ЕГЭ по информатике?
- До 1 балл из 29 первичных баллов (проект спецификации КИМ ЕГЭ-2027 ФИПИ). Уровень сложности — высокий.
- Сколько времени тратить на задание 25?
- Примерное время выполнения по спецификации ФИПИ — 20 минут; на весь экзамен отводится 235 минут.
- Что проверяет задание 25?
- Умение создавать собственные программы (10–20 строк) для обработки целочисленной информации: числа по маске с делимостью, числа с заданными делителями.
- Где потренироваться на задании 25?
- В тренажёре «Ранга» по этому номеру сейчас 30 заданий с проверкой ответа и разбором; первое задание открывается без регистрации.
Источник: ФИПИ — демоверсии, спецификации, кодификаторы ЕГЭ, архив материалов 2027 года (проект спецификации и демоверсии КИМ ЕГЭ-2027 ФИПИ по информатике (опубликован как проект; 27 заданий, 29 первичных баллов, экзамен на компьютере)).
Тексты теории — авторские материалы «Ранга». Примеры — авторские тренировочные задания в формате ЕГЭ, не официальные задания ФИПИ. Мы не обещаем конкретных баллов: результат зависит от твоей работы.