8 задание ЕГЭ информатика
Комбинаторика: перебор слов
1 балл ≈ 4 мин уровень Б
Задание 8 – слова (наборы букв или цифр) по правилам: посчитать количество, найти номер слова в алфавитном списке, посчитать числа в другой системе счисления с условиями. 1 балл. Надёжнее перебором через itertools.
Формулы для устного счёта
- Слова длины k из n букв (с повторами): .
- Без повторов: ; все буквы по одному разу: .
- Ровно m позиций для определённой буквы: .
Шаблон на Python
from itertools import product
letters = sorted("СТРОКА") # алфавитный порядок!
last = 0
for num, w in enumerate(product(letters, repeat=5), 1):
s = "".join(w)
if s[0] not in "АСТ" and s.count("О") == 2 and num % 2 == 0:
last = num
print(last)
product перебирает слова именно в алфавитном порядке, если буквы отсортированы, а enumerate(…, 1) нумерует с единицы.
Другие инструменты: permutations(letters, k) – без повторов; для чисел в системе с основанием b используй цифры "0123456789ABC"[:b] и проверяй, что первая цифра не 0.
Разобранный пример. Сколько пятибуквенных слов из букв К, О, Т, в которых О встречается ровно два раза? Формула: . Проверка кодом: sum(1 for w in product("КОТ", repeat=5) if w.count("О") == 2) → 80.
Ловушки: не отсортировать буквы – нумерация собьётся; нумерация с нуля вместо единицы; «не начинается с нуля» для чисел; «ровно два» и «не менее двух».
- Всегда делай sorted() для букв, если в задаче есть номера в алфавитном порядке.
- enumerate(…, 1) – номера с единицы, как в задании.
- Условия «рядом стоящие буквы» проверяй по строке: "ОО" in s или цикл по s[i], s[i+1].
Разобранные задания 8 из открытого банка ФИПИ
Пример 1 · код ФИПИ D59450
Сколько существует десятичных шестизначных чисел, делящихся на 5, в которых все цифры различны и никакие две чётные или две нечётные цифры не стоят рядом?
Показать ответ и решение
Ответ: 1296
Шестизначные числа с различными цифрами, оканчивающиеся на 0 или 5, с чередованием чётности соседних цифр; первая цифра ≠ 0.
Перебор программой: 1296.
Пример 2 · код ФИПИ cee165
Все пятибуквенные слова, составленные из букв А, К, Ц, Е, Н, Т, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ААААА
2. ААААЕ
3. ААААК
4. ААААН
5. ААААТ
6. ААААЦ
……
Определите, под каким номером в этом списке стоит первое слово с чётным номером, которое не содержит буквы А,
не начинается с Е или К и при этом содержит в своей записи букву Ц.
Примечание. Слово – последовательность идущих подряд букв, не обязательно осмысленная.
Показать ответ и решение
Ответ: 4152
Буквы по алфавиту: А, Е, К, Н, Т, Ц; номер слова = его значение в шестеричной системе + 1.
Ищем первое слово с чётным номером без А, не начинающееся с Е или К и содержащее Ц. Программой перебираем все слов: 4152.
Пример 3 · код ФИПИ 7C6443
Сколько существует десятичных пятизначных чисел, в которых все цифры различны и никакие две чётные или две нечётные цифры не стоят рядом?
Показать ответ и решение
Ответ: 2160
Чётность цифр должна чередоваться, все цифры разные, первая ≠ 0.
Перебор (программа) даёт 2160.
Частые вопросы о задании 8
Сколько баллов даёт задание 8 ЕГЭ по информатике?
Максимум – 1 первичный балл. Норма времени на экзамене – около 4 мин. Уровень сложности – Б.
Что проверяет задание 8?
Задание 8 – слова (наборы букв или цифр) по правилам: посчитать количество, найти номер слова в алфавитном списке, посчитать числа в другой системе счисления с условиями. 1 балл. Надёжнее перебором через itertools.
Как подготовиться к заданию 8?
Прочитайте теорию выше: алгоритм, нужные факты и ловушки. Затем решите подход из 10 заданий с автопроверкой и разбором – первые без регистрации – и вернитесь к ошибкам. В пробниках Сотки номер встречается в полных вариантах ФИПИ с подсчётом баллов.