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

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

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

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))

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