Комбинаторика - легко | Гайд по модулю itertools | Информатика ЕГЭ

YOUTUBE · 01.12.2025 05:02

Ключевые темы и таймкоды

Введение и цель видео

0:05
  • Коля Касперский, преподаватель информатики в онлайн-школе Веби, объясняет, как использовать библиотеку itertools для решения задач ЕГЭ по информатике.
  • Библиотека позволяет выполнять переборы по интересным комбинациям и итерациям.
  • Основные методы: product и permutations.

Объяснение методов product и permutations

1:01
  • Product позволяет получать сочетания элементов, например, умножение набора «абц» на самого себя даёт «аабабэбабэ».
  • Permutations позволяет переставлять элементы, например, набор «абц» можно переставить разными способами: «абц», «ацб», «ацб» и «цб».

Пример задачи №8

2:08
  • Задача: определить количество кодовых слов, которые может составить Игорь из букв своего имени, если слово не должно начинаться с «и» и содержать сочетание «го».
  • Решение: перестановка из пяти элементов даёт 120 возможных вариантов.
  • Условия задачи: слово не должно начинаться с «и» и содержать сочетание «го».

Реализация решения на Python

3:05
  • Подключение библиотеки itertools.
  • Использование метода permutations для перестановки букв имени «Игорь».
  • Преобразование кортежей в строки с помощью метода join.

Проверка и фильтрация результатов

4:55
  • Добавление счётчика для подсчёта количества перестановок.
  • Фильтрация результатов по условиям задачи: слово не должно начинаться с «и» и содержать сочетание «го».

Усложнение задачи

6:10
  • Пример с четырёхбуквенными кодами, где каждая буква используется ровно один раз.
  • Использование параметра r в методе permutations для ограничения количества букв.

Новая задача с шестибуквенными кодами

7:10
  • Задача: определить количество шестибуквенных кодов, которые может составить Олег, если буква «г» должна встречаться минимум один раз и запрещено сочетание «ел».
  • Применение метода product с параметром range, равным шести.
  • Фильтрация результатов по условиям задачи.

Заключение

10:29
  • Коля Касперский отмечает, что некоторые задачи лучше решать вручную, но Python также подходит.
  • Призывает задавать вопросы в комментариях или социальных сетях.
  • Благодарит за просмотр и просит делиться видео.