Из букв слова Х,О,Г,В,А,Р,Т,С составляются 8-буквенные последовательности. Сколько можно составить различных последовательностей таких, что каждая буква в них используется ровно один раз и буква А не стоит рядом с буквой Т?
Всего 8-буквенных слов можно составить , так как уникальных букв для составления у нас 8.
Из них нужно вычесть количество сочетаний, в которых присутствуют буквы А и Т рядом. Комбинаций из этих букв всего 2: АТ и ТА, всего существует 7 варианта разместить две буквы рядом в слове из 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 len(w) == len(set(w)):
if ’АТ’ not in w and ’ТА’ not in w:
ans.add(w)
print(len(ans))
Решение программой (itertools):
from itertools import permutations
ans = set()
alf = ’ХОГВАРТС’
for w in permutations(alf, 8):
w = ’’.join(w)
if ’АТ’ not in w and ’ТА’ not in w:
ans.add(w)
print(len(ans))