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

Олег составляет 4-буквенные слова, в которых есть только буквы К, Р, А, Б, причём буква К используется в каждом слове ровно 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Олег?

Мы имеем 4 позиции, на которые можно поставить любую из 4 букв алфавита. При этом, нам надо чтобы в каждом слове была обязательно только одна буква К. Если мы поставим К на первую позицию, то на три остальных мы можем поставить любую из оставшихся трёх букв. Получается что всего слов с единственной К на первой позиции 1 ⋅3⋅3⋅3 = 27  . Проделываем те же самые действия для оставшихся позиций буквы К, получается 27⋅4 = 108  .
Решение программой (циклы):

ans = set()
alf = ’КРАБ’

for x1 in alf:
    for x2 in alf:
        for x3 in alf:
            for x4 in alf:
                w = x1 + x2 + x3 + x4
                if w.count(’К’) == 1:
                    ans.add(w)
print(len(ans))

Решение программой (itertools):

from itertools import product

ans = set()
alf = ’КРАБ’

for x in product(alf, repeat=4):
    if x.count(’К’) == 1:
        ans.add(x)

print(len(ans))

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