Перебор слов и системы счисления.Подсчет количества слов с ограничениями
i
Андрей составляет 7-буквенные коды из букв А, Н, Д, Р, Е, Й. Буквы А и Й должны встречаться в коде ровно по одному разу, при этом буква Й не может стоять на первом месте. Остальные допустимые буквы могут встречаться произвольное количество раз или не встречаться совсем. Сколько различных кодов может составить Андрей?
Решение. Пусть А стоит на первом месте, а на втором месте стоит буква Й. Тогда на остальных пяти позициях может стоять любая из четырёх оставшихся букв. То есть всего комбинаций. Когда А стоит на первом месте, есть 6 вариантов расположения буквы Й. То есть имеем комбинации.
Если А стоит на втором месте, то на первом месте можно использовать любую из оставшихся букв, кроме Й.Букву Й можно поставить в 5 разных позиций. Таким образом, получится комбинаций.
Такие же рассуждения, если А стоит на третьем, четвёртом, пятом, шестом и седьмом местах.
То есть всего получается вариантов.
Ответ: 36 864.
Приведём другое решение на языке Python.
import itertools
alphabet = "АНДРЕЙ"
ar = itertools.product(alphabet, repeat=7) #Размещение с повторением
arl = []
for i in ar:
arl.append(list(i))
count = 0
for e in arl:
if e.count("А") == 1 and e.count("Й") == 1 and e[0] != "Й":