Олег составляет 4-буквенные слова, в которых есть только буквы К, Р, А, Б, причём буква К используется в каждом слове ровно 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Олег?
Мы имеем 4 позиции, на которые можно поставить любую из 4 букв алфавита. При этом, нам надо чтобы в каждом слове была обязательно только одна буква К. Если мы поставим К на первую позицию, то на три остальных мы можем поставить любую из оставшихся трёх букв. Получается что всего слов с единственной К на первой позиции . Проделываем те же самые действия для оставшихся позиций буквы К, получается
.
Решение программой (циклы):
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))