Задача к ЕГЭ по информатике на тему «подсчет количества слов/чисел» №2

Алиса составляет 7-буквенные слова из букв П, Р, А, В, Н, У, К. Каждая из букв может встречаться в слове ровно один раз, причём последней буквой должна быть Р, а первой буква П. Сколько различных слов может составить Алиса?

Решение руками

На последнее место Алиса ставит букву П, а на последнее место букву Р, обе единственным способом. На второе, третье, четвёртое, пятое и шестое место она ставит одну из 5, 4, 3, 2 и 1 из оставшихся букв соответственно, т.к. с постановкой одной из букв, общее количество букв, которые ещё можно поставить уменьшается на 1. Всего Алиса может составить 1 ⋅ 5 ⋅ 4 ⋅ 3 ⋅ 2 ⋅ 1 ⋅ 1 = 120  различных слов.

Решение через циклы

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)

Ответ: 120
Оцените статью
Я решу все!