8.02 Подсчет количества слов/чисел
Ошибка.
Попробуйте повторить позже
Максим составляет пары слов. Первое 6-буквенное слово состоит из букв М, О, Щ, Н, а второе 2-буквенное из букв В, Е, Б. Каждая из букв в словах может встречаться любое количество раз или не встречаться совсем, причём в первом слове должно быть 5 подряд идущих согласных. Сколько различных пар слов может составить Максим?
Решение руками
В первом слове Максим должен получить 5 подряд идущих согласных, а значит либо на 1, 2, 3, 4 и 5
местах должны стоять согласные, а на 6 – гласная, либо на 2, 3, 4, 5, 6 местах должны стоять согласные,
а на 1 – гласная, либо на всех местах должны стоять согласные. Всего согласных 3. Значит первое слово
можно составить способами. Во втором слове
на каждое из
мест можно поставить любую из
букв. Значит второе слово можно составить
способами.
Представим, что первые слова — чашки, а вторые слова — блюдца. Сколько различных вариаций чашка+блюдце можно составить?
Можно составить различных пар слов (блюдец с чашкой).
Идея решения через циклы:
Сначала формируем все возможные 5-буквенные последовательности только из согласных букв "МЩН". Далее строим 6-буквенные слова из букв "МОЩН"при помощи вложенных циклов. Для каждого слова проверяем наличие подряд идущих 5 согласных: либо с позиции 0 по 4, либо с позиции 1 по 5. Подсчитываем количество таких слов.
Отдельно перебираем все 2-буквенные слова из букв "ВЕБ". Общее количество пар слов находим как произведение двух результатов.
Решение кодом через циклы:
# Буквы для первого слова a = "МОЩН" # Согласные буквы a1 = "МЩН" # Список всех 5-буквенных комбинаций из согласных m = [x1+x2+x3+x4+x5 for x1 in a1 for x2 in a1 for x3 in a1 for x4 in a1 for x5 in a1] # Счётчик слов длины 6 count1 = 0 # Перебор всех 6-буквенных слов из букв "МОЩН" for x1 in a: for x2 in a: for x3 in a: for x4 in a: for x5 in a: for x6 in a: # Формируем слово s = x1+x2+x3+x4+x5+x6 # Проверяем наличие 5 подряд согласных if s[0:5] in m or s[1:] in m: count1 += 1 # Буквы для второго слова b = "ВЕБ" # Счётчик слов длины 2 count2 = 0 # Перебор всех слов длины 2 из букв "ВЕБ" for x1 in b: for x2 in b: # Формируем слово s = x1+x2 count2 += 1 # Общее количество пар слов print(count1 * count2)
Идея решения через itertools:
Используем функцию product для генерации всех слов с повторениями. Для первого слова перебираем все возможные 6-буквенные комбинации из букв "МОЩН". Для каждой строки проверяем условие: либо первые 5 букв все согласные, либо последние 5 букв все согласные. Считаем количество таких слов.
Для второго слова используем product для генерации всех 2-буквенных комбинаций из букв "ВЕБ". Результат — произведение двух полученных чисел.
Решение кодом через itertools:
# Импортируем функцию для декартового произведения from itertools import product # Согласные буквы sogl = "МЩН" # Счётчик слов длины 6 count1 = 0 # Перебор всех комбинаций длины 6 из букв "МОЩН" for x in product("МОЩН", repeat=6): # Формируем слово s = "".join(x) # Проверяем, что есть 5 подряд согласных (с 0-й по 4-ю или с 1-й по 5-ю позиции) if all(s[i] in sogl for i in range(5)) or all(s[i] in sogl for i in range(1, 6)): count1 += 1 # Счётчик слов длины 2 count2 = 0 # Перебор всех комбинаций длины 2 из букв "ВЕБ" for x in product("ВЕБ", repeat=2): # Формируем слово s = "".join(x) count2 += 1 # Общее количество пар слов print(count1 * count2)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!