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

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

На последнее место Кадыр ставит букву Р, сделать это он может единственным способом. На первое место он ставит любую из 8 оставшихся букв, т.к. буква Р уже использована, и делает он это одним из 8 способов. На второе он ставит любую из 7 оставшихся, на третье — любую из 6 оставшихся, на четвертое — любую из 5 оставшихся, а на третье — любую из 4 оставшихся. Всего Кадыр может составить 8 ⋅ 7 ⋅ 6 ⋅ 5 ⋅ 4 ⋅ 1 = 6720  различных слов.
Решение программой (циклы):

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

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