8.02 Подсчет количества слов/чисел
Ошибка.
Попробуйте повторить позже
Из букв Т, А, Н, Ц, О, Р составляются 8-буквенные последовательности. Сколько можно составить различных последовательностей, если известно, что в каждой из них на 5-ой позиции стоит буква Т или О, на 1-ой позиции не может стоять согласная буква, а на последнем месте стоит буква Н?
Решение аналитически:
Для второй, третьей, четвертой, шестой и седьмой позиций ограничений нет. Там могут стоять все шесть букв.
На пятом месте может стоять одна из двух букв, значит, варианта два.
На первом месте могут стоять только гласные буквы, их две.
На восьмом месте стоит только одна буква.
Всего последовательностей: 2*6*6*6*2*6*6*1=31104.
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 8-буквенных слов из заданных букв. Для этого организуем
вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки,
формируя все возможные комбинации. Запишем количество подходящих слов.
ans = set() # Множество подходящих слов alf = "ТАНЦОР" # Алфавит к задаче for x1 in alf: for x2 in alf: for x3 in alf: for x4 in alf: for x5 in alf: for x6 in alf: for x7 in alf: for x8 in alf: w = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 # Формируем слово if w[4] in "ТО" and w[0] in "ОА" and w[-1] == "Н": # Проверка по условию ans.add(w) # Добавим в множество print(len(ans)) # Выведем нужную длину
Решение программой с помощью модуля itertools:
Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Запишем количество подходящих слов.
from itertools import product ans = set() # Множество подходящих слов alf = "ТАНЦОР" # Алфавит к задаче # Получим все 8-буквенные слова из заданного алфавита for w in product(alf, repeat = 8): w = "".join(w) # join объединяет буквы if w[4] in "ТО" and w[0] in "ОА" and w[-1] == "Н": # Проверка по условию ans.add(w) # Добавим в множество print(len(ans)) # Выведем нужную длину
Специальные программы

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

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

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

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

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

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