Перебор слов и системы счисления.Подсчет количества слов с ограничениями
i
Игорь составляет 8-буквенные коды из букв И, Г, О, Р, Ь. Буквы О и Ь должны встречаться в коде ровно по одному разу, при этом буква Ь не может стоять на первом месте. Остальные допустимые буквы могут встречаться произвольное количество раз или не встречаться совсем. Сколько различных кодов может составить Игорь?
Решение. Пусть О стоит на первом месте, а на втором месте стоит буква Ь. Тогда на остальных шести позициях может стоять любая из трёх оставшихся букв. То есть всего комбинаций. Когда О стоит на первом месте, есть 7 вариантов расположения буквы Ь. То есть имеем комбинации.
Если О стоит на втором месте, то на первом месте можно использовать любую из оставшихся букв, кроме Ь.Букву Ь можно поставить в 6 разных позиций. Таким образом, получится комбинаций.
Такие же рассуждения, если О стоит на третьем, четвёртом, пятом, шестом, седьмом и восьмом местах.
То есть всего получается вариантов.
Ответ: 35 721.
Приведём другое решение на языке Python.
import itertools
alphabet = "ИГОРЬ"
ar = itertools.product(alphabet, repeat=8) #Размещение с повторением
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] != "Ь":