Некоторый алфавит содержит только 6 букв: П,Р,И,В,Е,Т. Школьники составляют кодовые слова длины 6, при этом буква Е встречается ровно два раза. Сколько различных слов могут составить ребята?
Решение руками:
Для двух букв в слове, рассмотрим пример, пусть две буквы Е занимают первые две позиции, тогда на остальных четырех позициях может стоять любая из 5ти букв.
Е Е 5 5 5 5
Вторая буква Е может стоять на любой из 5 позиции, если первая стоит на первой. Если первая Е стоит на второй позиции, то у второй буквы Е всего 4 варианта, так как если поставить вторую букву Е на первую позицию, то получим дубликат.
Посчитав по аналогии число перестановок Е получаем, что всего слов, в которых буква Е встречается 2 раза: .
Решение программой (циклы):
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:
w = x1 + x2 + x3 + x4 + x5 + x6
if w.count(’Е’) == 2:
ans.add(w)
print(len(ans))
Решение программой (itertools):
from itertools import product
ans = set()
alf = ’ПРИВЕТ’
for w in product(alf, repeat=6):
w = ’’.join(w)
if w.count(’Е’) == 2:
ans.add(w)
print(len(ans))