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

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

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

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

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

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

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