ЕГЭ
Информатика
23 марта 2026
19 минут чтения

Задание 8 ЕГЭ по информатике: измерение количества информации

Задание 8 КЕГЭ проверяет элемент содержания 2.2 «Измерение количества информации» и почти всегда выглядит как задача на комбинаторику: сколько слов заданной длины можно составить из данного алфавита при дополнительных условиях — запрет на соседство определённых букв, ограничение на число вхождений какой-то буквы, требование не повторять буквы и так далее. Это задание базового уровня сложности, за него дают 1 первичный балл, ответ — целое число, файла к заданию не прилагается и специализированное ПО не нужно. Ниже — вся теория (правило произведения и суммы, размещения с повторениями и без, учёт запретов, динамика по позициям), рабочий код на Python для полного перебора и три разбора реальных заданий из открытого банка ФИПИ. Тренироваться можно на реальных заданиях 8 ЕГЭ по информатике онлайн — с мгновенной проверкой ответа.


Что проверяет задание 8 ЕГЭ по информатике

КЕГЭ сдаётся за компьютером, все 27 заданий — с кратким ответом, и задание 8 не исключение: правильный ответ проверяется автоматически посимвольным сравнением с эталоном. По кодификатору задание относится к разделу «Теоретические основы информатики» и проверяет элемент содержания 2.2 «Измерение количества информации». На практике это означает не формулу I=log2NI = \log_2 N (она чаще встречается в задании 11 — там тот же КЭС 2.2, но повышенный уровень), а прямой подсчёт вариантов: сколько существует слов, чисел или кодов, удовлетворяющих условию.

Проверяемые умения (КЭС 2.2):

  • применять правило произведения и правило суммы комбинаторики к задачам на подсчёт слов и чисел;
  • считать размещения с повторениями (knk^n) и без повторений, когда условие запрещает повторять буквы;
  • корректно учитывать запреты в условии — «не более одной буквы У», «не стоят рядом две гласные», «ровно одна буква К» — через разбиение на случаи или вычитание «плохих» вариантов из общего числа;
  • не путать измерение количества информации через подсчёт вариантов (задание 8) с измерением через степень числа 22 при известном количестве сообщений (задание 11, тот же КЭС, но повышенный уровень).

Ниже — цифры по действующей спецификации ФИПИ 2026 года. Проекты КИМ-2027 ФИПИ публикует в конце августа 2026 года, финальная версия выходит в ноябре; структура работы не менялась с 2025 года.

ПараметрЗначение
Максимальный балл1 первичный. Частичного зачёта у задания 8 нет — ответ либо полностью совпадает с эталоном, либо 0 баллов (частичный зачёт на КЕГЭ есть только у заданий 26 и 27)
Уровень сложностиБазовый — одно из 11 заданий базового уровня во всей работе
Проверяемый элемент содержанияКЭС 2.2 «Измерение количества информации», раздел «Теоретические основы информатики»
Форма ответаЦелое число, без пробелов и других символов
Файл к заданиюНе прилагается
Специализированное ПОНе требуется: задание решается на черновике, компьютер нужен только для ввода готового числа в ответ
Время4 минуты — примерное время выполнения задания по обобщённому плану варианта КИМ ЕГЭ (спецификация ФИПИ)
Связанные заданияЗадание 11 (тот же КЭС 2.2, но повышенный уровень и формула I=log2NI = \log_2 N), задание 7 (КЭС 2.6, тоже про объём информации, но для графики и звука)

Тренируйтесь на реальных заданиях

Задания ЕГЭ по информатике из открытого банка ФИПИ с мгновенной проверкой ответа. Решаем, ошибаемся, разбираем — бесплатно.

Решать задание 8

Как выглядит формулировка

У задания 8 нет единого шаблона текста — меняется и алфавит, и запрет, и то, что именно нужно посчитать (число слов, номер слова в списке, количество кодов). Вот реальные формулировки из открытого банка ФИПИ:

  • «Игорь составляет таблицу кодовых слов для передачи сообщений … В качестве кодовых слов Игорь использует трёхбуквенные слова, в которых могут быть только буквы Ш, К, О, Л, А, причём буква К появляется ровно 1 раз … Сколько различных кодовых слов может использовать Игорь?»
  • «Сколько существует различных четырёхзначных чисел, записанных в десятичной системе счисления, в записи которых есть ровно две одинаковые цифры, причём стоящие рядом?»
  • «Все пятибуквенные слова, в составе которых могут быть только русские буквы П, А, Р, У, С, записаны в алфавитном порядке и пронумерованы начиная с 1 … Под каким номером в списке идёт последнее слово, которое содержит не более одной буквы У и не содержит букв А, стоящих рядом?»
  • «Шифр кодового замка представляет собой последовательность из пяти символов, каждый из которых является цифрой от 1 до 4. Сколько различных вариантов шифра можно задать, если известно, что цифра 2 должна встречаться в коде ровно один раз …?»

За разнообразием формулировок стоят на самом деле два разных типа вопроса, и их важно различать сразу:

  • «Сколько существует слов/чисел/кодов» — спрашивают напрямую количество вариантов, удовлетворяющих условию. Это прямое применение правила произведения, суммы и учёта запретов.
  • «Под каким номером в списке» — слова выписаны в алфавитном порядке и пронумерованы, а спрашивают номер конкретного (обычно первого или последнего подходящего) слова. Здесь считать нужно не всё множество слов, а сколько слов стоит в списке раньше искомого — то есть снова считать вариант через правило произведения, только для другого множества слов.

Как записывается ответ. Ответ на задание 8 — целое число: количество слов, чисел, кодов или номер в списке. Инструкция по выполнению работы требует записывать краткий ответ «в виде целого числа … без пробелов, запятых и других дополнительных символов». Никаких единиц измерения («слов», «штук») в ответе быть не должно — только цифры. Многозначные ответы (405, 2969, 3125) в открытом банке — обычное дело, большое число само по себе не повод сомневаться в решении.

Теория: всё, что нужно для задания 8

Правило произведения и правило суммы

Правило произведения

Если объект строится из nn последовательных независимых выборов, и на первом шаге есть k1k_1 вариантов, на втором — k2k_2 и так далее, то всего вариантов:

N=k1k2knN = k_1 \cdot k_2 \cdot \dots \cdot k_n

«Независимо» означает: выбор на одном шаге не сокращает и не меняет число вариантов на другом. Пример — трёхбуквенное слово из алфавита в 5 букв без ограничений: 555=53=1255 \cdot 5 \cdot 5 = 5^3 = 125 слов.

Правило суммы

Если объект можно получить mm взаимоисключающими способами (случай 1 ИЛИ случай 2 ИЛИ …), и в случае ii есть kik_i вариантов, то всего:

N=k1+k2++kmN = k_1 + k_2 + \dots + k_m

Ключевое отличие от произведения: случаи должны не пересекаться — один и тот же объект не должен посчитаться дважды в разных случаях. В задании 8 правило суммы почти всегда появляется, когда особая буква или цифра может стоять на разных позициях слова — тогда сумма берётся по позиции.

Размещения с повторениями и без повторений

С повторениями (буквы можно ставить сколько угодно раз)

Это самый частый случай в задании 8: «каждая из допустимых букв может встречаться любое количество раз или не встречаться совсем». Тогда каждая из nn позиций слова заполняется независимо любой из kk букв алфавита:

N=knN = k^n

Например, слов длины 5 из алфавита в 5 букв без ограничений — 55=31255^5 = 3125.

Без повторений (буквы не должны повторяться)

Если условие говорит «все буквы в слове различны», на первом месте по-прежнему kk вариантов, но на втором уже k1k - 1 (использованная буква выбывает), на третьем k2k - 2 и так далее:

N=k(k1)(k2)(kn+1)N = k \cdot (k-1) \cdot (k-2) \cdots (k - n + 1)

Эта формула — размещения без повторений, в комбинаторике обозначаются AknA_k^n. Спутать эти два случая — частая ошибка: прежде чем писать формулу, найдите в условии фразу «может встречаться любое количество раз» (значит knk^n) или «различны», «не повторяются» (значит AknA_k^n).

Как учитывать запреты: два рабочих приёма

Почти в каждом задании 8 к «голому» knk^n добавляется ограничение: буква встречается ровно один раз, две буквы не стоят рядом, цифра вообще не встречается. Есть два приёма, и выбор между ними зависит от формы запрета.

Приём 1 — разбиение на случаи (когда запрет «жёсткий»)

Работает для условий вида «буква Х встречается ровно один раз». Идея: сначала выбрать позицию для особой буквы (это и есть правило суммы — X может стоять на месте 1, 2, … или n), а остальные n1n - 1 позиций заполнить произвольно любой из оставшихся k1k - 1 букв:

N=n(k1)n1N = n \cdot (k - 1)^{\,n-1}

Например, пятисимвольный код из цифр 1–4, где цифра 2 встречается ровно один раз: позиция для двойки — 55 способов, остальные четыре места — по 33 варианта (1, 3 или 4): 534=4055 \cdot 3^4 = 405.

Приём 2 — «от общего числа вычесть плохие» (дополнение)

Работает, когда условие проще сформулировать «от противного»: например, «хотя бы одна буква А» — искать это разбиением на случаи неудобно (А может встретиться 1 раз, 2 раза, 3 раза…), а вот дополнение считается в одну строчку. Всего слов — knk^n, слов вообще без буквы А (на каждом месте k1k-1 вариант) — (k1)n(k-1)^n, значит:

Nхотя бы одна А=kn(k1)nN_{\text{хотя бы одна А}} = k^n - (k-1)^n

Игрушечный пример на двоичном алфавите: слов длины nn из битов 0 и 1, где есть хотя бы одна единица, — 2n12^n - 1 (вычли ровно одно «плохое» слово — все нули).

Приём выбирается по формулировке запрета: «ровно один раз» — почти всегда разбиение на случаи по позиции; «хотя бы один раз», «не более» — часто быстрее через дополнение. Если запрет смешанный («не более одной буквы У И нет соседних А» — так устроено одно из заданий ниже), одной формулой не обойтись: нужно либо аккуратно комбинировать случаи, либо перейти к следующему приёму — динамике по позициям.

Динамика по позициям: универсальный приём

Когда запрет касается соседних букв (нельзя поставить рядом две гласные, нельзя дважды подряд одну и ту же цифру), разбиение на случаи быстро превращается в кашу из десятков вариантов. Универсальный выход — считать слово по буквам слева направо и хранить не одно число, а несколько: по одному на каждый «класс», которым может заканчиваться уже построенный кусок слова.

Разберём классическую задачу: алфавит из 3 гласных (А, Е, И) и 3 согласных (Б, В, Г), нельзя ставить рядом две гласные. Сколько существует слов длины nn? Обозначим через cic_i число подходящих слов длины ii, оканчивающихся на согласную, а через viv_i — оканчивающихся на гласную.

База (i = 1):

c1=3,v1=3c_1 = 3, \qquad v_1 = 3

Переход (i → i + 1):

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

ci+1=(ci+vi)3c_{i+1} = (c_i + v_i) \cdot 3

А к гласной можно приписать гласную, только если перед ней стояла согласная (иначе — запрещённое соседство двух гласных):

vi+1=ci3v_{i+1} = c_i \cdot 3

Расставляем по шагам:

i    c_i    v_i    всего
1     3      3        6
2     18     9       27
3     81     54      135
4    405    243      648
5   1944   1215     3159

Ответ для n=5n = 5 1944+1215=31591944 + 1215 = 3159 слов. Прямая формула knk^n здесь не работает, потому что запрет зависит от соседней буквы, а не от всего слова целиком — а динамика по позициям справляется с любым локальным запретом за nn шагов, даже если классов не два, а пять.

Полный перебор программой — законный приём на КЕГЭ

КЕГЭ сдаётся за компьютером, и на экзамене доступна среда программирования (в том числе Python). Если формула не вспоминается или условие слишком запутанное для ручного разбора на случаи, а количество вариантов небольшое — переберите все слова программой и отфильтруйте подходящие. Это не «нечестный» способ, а рабочий инструмент: часто он быстрее и надёжнее, чем комбинаторная формула, в которой легко ошибиться на пограничном случае.

Шаблон для задачи «слова длины nn из алфавита kk, буква К встречается ровно один раз» (то же условие, что в примере 1 ниже, только длина и алфавит — переменные):

from itertools import product

alphabet = 'ШКОЛА'
n = 3
count = 0
for word in product(alphabet, repeat=n):
    if word.count('К') == 1:
        count += 1
print(count)

product(alphabet, repeat=n)\text{product(alphabet, repeat=n)} перебирает все knk^n строк длины nn ровно так, как их описывает правило произведения — по одной букве на позицию, независимо. Дальше достаточно проверить условие в if\text{if} и посчитать подходящие. Для запрета на соседние буквы условие внутри цикла заменяется на проверку пар соседних символов — например, ’АА’ in s\text{'АА' in s} для запрета на две буквы А подряд.

Для задач «под каким номером в списке» перебор ещё удобнее: достаточно отсортировать все слова (sorted(...)\text{sorted(...)} для латиницы, кириллица в Python тоже сортируется по алфавиту корректно) и найти позицию нужного слова функцией index\text{index} или циклом с enumerate\text{enumerate} — искать формулой вручную вообще не придётся.

Где перебор перестаёт работать

У перебора есть жёсткий потолок: количество слов растёт как knk^n, и на некоторых сочетаниях kk и nn оно перестаёт помещаться в разумное время — даже если сам код написан без единой ошибки.

Алфавит и длинаКоличество слов knk^nПеребор на экзамене
676^7 (6 букв, слово из 7)279 936Работает: доли секунды
5105^{10} (5 букв, слово из 10)9 765 625На грани: несколько секунд, но ещё приемлемо
261026^{10} (26 букв, слово из 10)141 167 095 653 376Не работает: перебор займёт годы

Ориентир: если knk^n заметно превышает 10810^8, программу на экзамене дописать не успеть — нужна формула (правило произведения/суммы, разбиение на случаи, дополнение или динамика по позициям из блоков выше). В открытом банке по заданию 8 такие большие числа не встречаются: длины слов — 3–6 букв, алфавиты — 4–10 символов, так что перебор почти всегда укладывается в лимит. Но проверять порядок числа knk^n в уме перед тем, как писать цикл, полезно всегда.

Алгоритм решения задания 8

  1. Выпишите алфавит и его размер kk, длину слова nn и дословно — все ограничения из условия. Отдельно отметьте, что именно спрашивают: количество слов или номер конкретного слова в списке.
  2. Определите тип размещения. «Может встречаться любое количество раз или не встречаться совсем» — размещение с повторениями, база knk^n. «Все буквы различны» — без повторений, база AknA_k^n.
  3. Разберите каждый запрет отдельно и определите приём: «ровно один раз» — разбиение на случаи по позиции особой буквы; «хотя бы один раз» или «не более» — часто удобнее через дополнение (общее минус плохие); запрет на соседние буквы — динамика по позициям.
  4. Если запретов несколько и они переплетаются («не более одной буквы У И нет двух А подряд») — не пытайтесь найти одну формулу. Либо стройте динамику с несколькими состояниями сразу, либо (быстрее и надёжнее) переходите к перебору программой.
  5. Оцените порядок числа knk^n. Если оно в пределах нескольких миллионов — смело пишите перебор на Python с фильтром внутри цикла, это займёт меньше времени, чем аккуратный разбор случаев.
  6. Для вопроса «под каким номером» посчитайте (формулой или перебором с сортировкой), сколько слов стоит в списке раньше искомого, и прибавьте 1 — нумерация в этих заданиях всегда начинается с 1, а не с 0.
  7. Проверьте порядок величины ответа на маленьком варианте той же задачи (уменьшите nn до 2–3 и посчитайте вручную или в уме) и запишите итоговое целое число без пробелов и лишних символов.

Доведите приёмы до автоматизма

Прорешайте 15–20 задач подряд — и выбор между формулой, разбиением на случаи и перебором программой станет очевидным с первого чтения условия.

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

Примеры с разбором

Пример 1. Ровно одна особая буква — разбиение на случаи

Условие (реальное задание из открытого банка ФИПИ):

Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Игорь использует трёхбуквенные слова, в которых могут быть только буквы Ш, К, О, Л, А, причём буква К появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может использовать Игорь?

Решение:

Алфавит — 5 букв (Ш, К, О, Л, А), слово из n=3n = 3 позиций. Буква К должна встретиться ровно один раз — это разбиение на случаи по позиции особой буквы.

Шаг 1. Выбираем позицию для буквы К — она может стоять на 1-м, 2-м или 3-м месте: 33 способа (правило суммы).

Шаг 2. Каждая из двух оставшихся позиций заполняется любой из четырёх букв Ш, О, Л, А (букву К туда ставить нельзя — иначе она встретится больше одного раза): 42=164^2 = 16 вариантов (правило произведения, размещение с повторениями).

Шаг 3. По правилу произведения объединяем выбор позиции и заполнение остальных мест:

N=342=316=48N = 3 \cdot 4^2 = 3 \cdot 16 = 48
from itertools import product

count = 0
for w in product('ШКОЛА', repeat=3):
    if w.count('К') == 1:
        count += 1
print(count)   # 48

Ответ: 48.

Проверка здравым смыслом: всего слов без ограничений 53=1255^3 = 125, из них с ровно одной К — 48, это меньше общего числа, как и должно быть. Полный перебор программой (запущен и сверен) даёт тот же ответ.

Пример 2. Соседняя пара одинаковых цифр — разбиение по позиции пары

Условие (реальное задание из открытого банка ФИПИ):

Сколько существует различных четырёхзначных чисел, записанных в десятичной системе счисления, в записи которых есть ровно две одинаковые цифры, причём стоящие рядом?

Решение:

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

Случай «1–2». Цифра пары dd стоит на первом месте, поэтому d0d \ne 0 99 вариантов. Третья и четвёртая цифры — различные и не равны dd: 98=729 \cdot 8 = 72 варианта. Итого 972=6489 \cdot 72 = 648.

Случай «2–3». Если d=0d = 0, первая цифра — любая из 9 ненулевых, последняя — любая из 8 оставшихся: 7272. Если d0d \ne 0 (9 вариантов), первая цифра ненулевая и не равна dd — 8 вариантов, последняя не равна ни dd, ни первой — тоже 8: 988=5769 \cdot 8 \cdot 8 = 576. Итого 72+576=64872 + 576 = 648.

Случай «3–4». Рассуждение симметрично случаю «1–2»: тоже 648648.

N=648+648+648=1944N = 648 + 648 + 648 = 1944
from collections import Counter

count = 0
for n in range(1000, 10000):
    s = str(n)
    c = Counter(s)
    if sorted(c.values()) != [1, 1, 2]:
        continue
    d = [k for k in c if c[k] == 2][0]
    if any(s[i] == s[i + 1] == d for i in range(3)):
        count += 1
print(count)   # 1944

Ответ: 1944.

Проверка здравым смыслом: три случая дали одинаковое число 648 — и это ожидаемо, все три позиции пары равноправны по количеству степеней свободы у оставшихся цифр. Полный перебор программой по всем 9000 четырёхзначным числам (запущен и сверен) даёт тот же ответ.

Пример 3. Два запрета сразу — жадное построение и перебор

Условие (реальное задание из открытого банка ФИПИ):

Все пятибуквенные слова, в составе которых могут быть только русские буквы П, А, Р, У, С, записаны в алфавитном порядке и пронумерованы начиная с 1. Ниже приведено начало списка.

1. ААААА
2. ААААП
3. ААААР
4. ААААС
5. ААААУ
6. АААПА
…

Под каким номером в списке идёт последнее слово, которое содержит не более одной буквы У и не содержит букв А, стоящих рядом?

Решение:

Здесь два запрета одновременно («не более одной У» и «нет двух А подряд») — под одну формулу разбиения на случаи это уложить трудно. Задача просит не количество слов, а номер последнего подходящего слова — то есть самого «старшего» по алфавиту среди тех, что удовлетворяют обоим условиям. Алфавит в порядке возрастания: А, П, Р, С, У.

Шаг 1. Строим искомое слово жадно, слева направо, ставя на каждое место максимально возможную по алфавиту букву, при которой оставшиеся условия ещё выполнимы:

  • 1-е место: самая старшая буква — У, и одна У разрешена. Ставим У. Букву У больше использовать нельзя.
  • 2–5-е места: следующая по старшинству буква — С, а на неё ограничений нет (запрет только на букву А). Ставим С на все четыре оставшихся места.

Получили слово УСССС: одна У, ни одной А — оба условия выполнены, и большего по алфавиту подходящего слова не существует (любая замена буквы правее на более старшую либо повторяет У, либо невозможна, так как С уже максимальна среди оставшихся).

Шаг 2. Находим номер УСССС в списке. Пронумеруем буквы по возрастанию: А=0, П=1, Р=2, С=3, У=4. Тогда слово превращается в пятизначное число в пятеричной системе, а номер слова на единицу больше значения этого числа (слову ААААА с числом 0 соответствует номер 1). Цифры слова УСССС — 4, 3, 3, 3, 3:

454+353+352+35+3=2500+375+75+15+3=29684 \cdot 5^4 + 3 \cdot 5^3 + 3 \cdot 5^2 + 3 \cdot 5 + 3 = 2500 + 375 + 75 + 15 + 3 = 2968
N=2968+1=2969N = 2968 + 1 = 2969
from itertools import product

alpha = 'АПРСУ'
answer = 0
for i, w in enumerate(product(alpha, repeat=5), 1):
    s = ''.join(w)
    if s.count('У') <= 1 and 'АА' not in s:
        answer = i
print(answer)   # 2969

Ответ: 2969.

Проверка здравым смыслом: всего пятибуквенных слов 55=31255^5 = 3125, а последнее подходящее слово стоит под номером 2969 — до него в списке есть ещё и другие слова, не прошедшие фильтр (например, УУААА с двумя У), поэтому номер меньше 3125, как и должно быть. Программа, перебравшая все 31253125 слов и запомнившая номер последнего подходящего, подтверждает ответ независимо от ручного построения.

Типичные ошибки и ловушки

Спутали размещения с повторениями и без

Условие «может встречаться любое количество раз» даёт knk^n, а условие «буквы различны» — совсем другую формулу, k(k1)(k2)k(k-1)(k-2)\cdots. Спутать их — значит получить ответ, который либо сильно завышен, либо сильно занижен. Перед вычислением найдите в условии точную фразу про повторения.

«Ровно один раз» посчитали как «хотя бы один раз»

Это разные условия и разные формулы. «Ровно один раз» — это n(k1)n1n \cdot (k-1)^{n-1} (выбор позиции, остальные места без особой буквы). «Хотя бы один раз» — это kn(k1)nk^n - (k-1)^n (общее минус слова совсем без этой буквы). Числа получаются разные, и эталон примет только правильное.

Забыли, что позиция особой буквы — это тоже выбор

В формуле n(k1)n1n \cdot (k-1)^{n-1} множитель nn — не опечатка и не константа «для красоты», а число способов расположить особую букву в слове. Забыть его — значит занизить ответ ровно в nn раз.

Применили разбиение на случаи к запрету на соседство

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

Считали первую цифру числа наравне с остальными

В задачах про N-значные числа (не слова!) первая цифра не может быть нулём — для неё всегда на один вариант меньше, чем для остальных разрядов. В примере 2 выше это учтено отдельным разбором внутри каждого случая; забыть про это — типичная причина завышенного ответа.

Начали нумерацию слов в списке с 0

Если условие пронумеровало слова «начиная с 1», то первое слово алфавитного списка получает номер 1, а не 0. При переводе слова в число системы счисления это число — на единицу меньше искомого номера: не забудьте прибавить 1 в самом конце.

Перебор без оценки числа вариантов

Написать перебор проще, чем формулу, но если не прикинуть заранее порядок knk^n, можно потратить время на программу, которая не досчитает за отведённое время. Прежде чем писать цикл, прикиньте — миллионы или сотни триллионов вариантов предстоит перебрать.

Спутали задание 8 с заданием 11

У них общий код кодификатора 2.2, но в задании 11 количество сообщений уже дано в условии и нужно найти объём информации через I=log2NI = \log_2 N, а в задании 8, наоборот, нужно посчитать само количество вариантов N. Если в условии есть слово «бит» или «информационный объём» — это, скорее всего, уже не задание 8.

Как задание 8 связано с остальным экзаменом

КЕГЭ по информатике — это 27 заданий с кратким ответом и максимальный первичный балл 29; частей в работе нет, все задания выполняются и проверяются автоматически. Задание 8 занимает в этой конструкции характерное место:

  • оно входит в раздел «Теоретические основы информатики» — самый большой раздел кодификатора, 11 заданий и 11 первичных баллов;
  • делит код кодификатора 2.2 с заданием 11 — там та же тема «измерение количества информации», но повышенный уровень и формула I=log2NI = \log_2 N вместо прямого подсчёта вариантов. Готовить эти два задания удобно парой, чтобы не путать «посчитать количество слов» и «посчитать объём информации по известному количеству сообщений»;
  • соседствует по теме объёма информации с заданием 7 (КЭС 2.6, объём памяти для графики и звука) — оба задания про измерение информации, но разными методами;
  • комбинаторные приёмы задания 8 — правило произведения, разбиение на случаи, полный перебор — напрямую пригождаются в заданиях 19–21 (анализ игр), где тоже нужно быстро прикинуть число вариантов ходов.

План подготовки на 2 недели

Неделя 1 — базовые формулы

День 1–2: отработайте правило произведения и knk^n на задачах без ограничений — просто слова из алфавита заданного размера. День 3–4: добавьте условие «все буквы различны» и потренируйтесь отличать knk^n от AknA_k^n по формулировке. День 5–7: разберите разбиение на случаи для условия «буква встречается ровно один раз» — обязательно решайте и формулой, и полным перебором на Python, сверяя результат: так вы сразу увидите, если формула применена неверно.

Неделя 2 — сложные запреты и скорость

День 1–2: освойте приём «от общего числа вычесть плохие» для условий «хотя бы один раз» и «не более». День 3–4: разберите динамику по позициям на запрете соседства (гласные/согласные, одинаковые цифры подряд) — постройте таблицу ci,vic_i, v_i вручную хотя бы один раз, прежде чем перекладывать на код. День 5: потренируйтесь на задачах «под каким номером», отдельно проверяя нумерацию с 1. День 6–7: решайте задания на время (4 минуты каждое) и держите в голове запасной план — если формула не идёт, сразу переходите на перебор программой, а не тратьте время на подбор случаев. Закрепите всё в тренажёре на заданиях из банка ФИПИ.

Проверьте себя на реальных заданиях

На Repet.ai собраны задания ЕГЭ по информатике из открытого банка ФИПИ. Решайте онлайн, проверяйте ответ мгновенно и разбирайте решение — бесплатно.

Перейти к практике
Частые вопросы

Часто задаваемые вопросы

Элемент содержания 2.2 «Измерение количества информации» из раздела «Теоретические основы информатики». На практике это задачи на комбинаторику: сколько существует слов, чисел или кодов заданной длины из данного алфавита при дополнительных условиях (запрет на соседство букв, ограничение числа вхождений какой-то буквы и подобные).

1 первичный балл по принципу «всё или ничего»: ответ либо полностью совпадает с эталоном, либо задание оценивается в 0 (частичный зачёт на КЕГЭ есть только у заданий 26 и 27). Уровень сложности — базовый, задание не требует специализированного ПО и файл к нему не прилагается.

Если условие говорит, что буква «может встречаться любое количество раз или не встречаться совсем», используется формула k^n, где k — размер алфавита, n — длина слова: каждая позиция заполняется независимо. Если условие требует, чтобы все буквы в слове были различны, вариантов на второй позиции уже на один меньше, на третьей — ещё на один меньше, и формула превращается в произведение k·(k−1)·(k−2)·….

Разбиением на случаи по позиции особой буквы: сначала выбираем, на каком из n мест она стоит (n способов), а остальные n−1 позиций заполняем любой из оставшихся k−1 букв алфавита. Итоговая формула — n·(k−1)^(n−1). Не путайте это условие с «хотя бы один раз» — для него формула другая: k^n − (k−1)^n.

Формула k^n здесь не работает, потому что допустимость буквы зависит от соседней. Нужна динамика по позициям: посчитать отдельно, сколько слов каждой длины оканчивается на букву каждого класса (например, на гласную и на согласную), и выразить числа для следующей позиции через числа для предыдущей. Это надёжный способ для запретов на соседство; для небольших k^n тот же результат даёт и полный перебор программой.

Да, это законный и рабочий приём — на КЕГЭ доступна среда программирования. Модуль itertools.product перебирает все k^n слов, а внутри цикла достаточно проверить условие и посчитать подходящие. Перебор надёжнее формулы, когда условие содержит несколько переплетающихся запретов, но годится только пока k^n не превышает нескольких миллионов — для более длинных слов и больших алфавитов нужна формула.

У них общий код кодификатора 2.2, но разные задачи. В задании 8 нужно посчитать само количество вариантов (слов, чисел, кодов) — это комбинаторика. В задании 11 количество сообщений уже дано, и нужно найти информационный объём по формуле I = log2 N — это повышенный уровень сложности, а не базовый.

Нужно определить, сколько слов в алфавитном списке стоит раньше искомого, и прибавить 1 (если нумерация начинается с 1, как указано в условии). Удобный приём — занумеровать буквы алфавита по возрастанию цифрами 0, 1, 2… и превратить слово в число в системе счисления с основанием, равным размеру алфавита: значение этого числа равно количеству слов до искомого.


Готовы закрыть балл базового уровня?

Задание 8 решается быстро, если сразу видеть, какой приём подходит: формула, разбиение на случаи, динамика по позициям или перебор программой. Отработайте это на реальных заданиях из открытого банка ФИПИ с мгновенной проверкой ответа.