Кадыр составляет 6-буквенные слова из букв К, О, М, П, И, Л, Я, Т, Р. Каждая из букв может встречаться в слове ровно один раз или не встречаться совсем, причём последней буквой слова должна быть Р. Сколько различных слов может составить Кадыр?
На последнее место Кадыр ставит букву Р, сделать это он может единственным способом. На первое место он ставит любую из 8 оставшихся букв, т.к. буква Р уже использована, и делает он это одним из 8 способов. На второе он ставит любую из 7 оставшихся, на третье — любую из 6 оставшихся, на четвертое — любую из 5 оставшихся, а на третье — любую из 4 оставшихся. Всего Кадыр может составить различных слов.
Решение программой (циклы):
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 len(w) == len(set(w)) and x6 == ’Р’:
ans.add(w)
print(len(ans))
Решение программой (itertools):
from itertools import permutations
ans = set()
alf = ’КОМПИЛЯТР’
for x in permutations(alf, 6):
if x[-1] == ’Р’:
ans.add(x)
print(len(ans))