
Демьян составляет 6-буквенные коды из букв Д, Е, М, Ь, Я, Н. Каждую букву нужно использовать ровно 1 раз, при этом Ь нельзя ставить первым и нельзя ставить после гласной. Сколько различных кодов может составить Демьян?
Решение. Пусть буква Г обозначает гласную, а буква С — согласную. Тогда в слове на любой позиции могут быть использованы гласные Г, согласные С и конструкция СЬ, обозначающая какую-либо согласную с мягким знаком. Тогда, например, при использовании в качестве согласной буквы в конструкции СЬ, буквы Д можно будет получить 5 · 4 · 3 · 2 · 1 = 120 вариантов слов. Для остальных двух согласных букв также получаем по 120 вариантов. Таким образом, всего можно составить 3 · 120 = 360 различных кодов.
Ответ: 360.
Приведём другое решение на языке Python.
import itertools
alphabet = "ДЕМЬЯН"
vol = 'ЕЯ'
ar = itertools.permutations(alphabet) #Перестановка
arl = []
for i in ar:
arl.append(list(i))
count = 0
for e in arl:
flag = True
for i in range(len(e)):
if (e[0] == "Ь") or (e[i] == "Ь" and e[i-1] in vol):
flag = False
if flag: count += 1
print(count)
Приведём решение Сергея Калугина на языке Python.
from itertools import permutations
cnt=0
a = permutations('ДЕМЬЯН',6)
for i in a:
p=''.join(i)
if p[0]!='Ь' and (('ЕЬ' not in p) and ('ЯЬ' not in p)):
cnt+=1
print(cnt)
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
'Д, Е, М, Ь, Я, Н'.Remove(', ').Permutations(6)
.Count(s->(s[1]<>'Ь')and('ЕЬ'not in s)and('ЯЬ'not in s))
.Print;
end.
PDF-версии: