Алиса составляет 7-буквенные слова из букв Н, А, П, И, Т, О, К. Каждая из букв может встречаться в слове ровно один раз, причём последней буквой должна быть К, а первой буква П. Сколько различных слов может составить Алиса?
На первое место Алиса ставит букву П, а на последнее место букву К, обе единственным способом. На второе, третье, четвёртое, пятое и шестое место она ставит одну из 5, 4, 3, 2 и 1 из оставшихся букв соответственно, т.к. с постановкой одной из букв, общее количество букв, которые ещё можно поставить уменьшается на 1. Всего Алиса может составить различных слов.
Решение программой (циклы):
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:
w = x1 + x2 + x3 + x4 + x5 + x6 + x7
if len(w) == len(set(w)) and x1 == ’П’ and x7 == ’К’:
ans.add(w)
print(len(ans))
Решение программой (itertools):
from itertools import permutations
ans = set()
alf = ’НАПИТОК’
for x in permutations(alf, 7):
if x[0] == ’П’ and x[-1] == ’К’:
ans.add(x)
print(len(ans))