Алиса составляет 7-буквенные слова из букв П, Р, А, В, Н, У, К. Каждая из букв может встречаться в слове ровно один раз, причём последней буквой должна быть Р, а первой буква П. Сколько различных слов может составить Алиса?
Решение руками
На последнее место Алиса ставит букву П, а на последнее место букву Р, обе единственным способом. На второе, третье, четвёртое, пятое и шестое место она ставит одну из 5, 4, 3, 2 и 1 из оставшихся букв соответственно, т.к. с постановкой одной из букв, общее количество букв, которые ещё можно поставить уменьшается на 1. Всего Алиса может составить различных слов.
Решение через циклы
a = ’ПРАВНУК’ # наше слово
count = set() # итоговый счётчик
#переборы для наших букв
for x1 in a:
for x2 in a:
for x3 in a:
for x4 in a:
for x5 in a:
for x6 in a:
for x7 in a:
s = x1+x2+x3+x4+x5+x6 # составляем слово
if len(s) == len(set(s)) and s[0] == ’П’ and s[-1] == ’Р’: # проверка, что все буквы встречаются единожды и начинается с П и заканчивается Р
count.add(s)
print(len(count))
Решение через itertools
from itertools import permutations
count = 0
for x in permutations(’ПРАВНУК’):
s = ’’.join(x) # составляем слово
if s[0] == ’П’ and s[-1] == ’Р’: # проверка по условию
count += 1
print(count)