Артём составляет коды из букв, входящих в слово КРУЖКА. Код должен состоять из 7 букв, причём в кодовом слове должны встречаться ровно две гласных буквы, согласные буквы могут встречаться в кодовом слове любое количество раз или не встречаться совсем.
Сколько различных кодовых слов может составить Артём?
Решение через циклы
s = ’КРУЖА’ #самое главное - записать алфавит КРУЖА, а не КРУЖКА, т.к. в данном случае буква К является одним и тем же символом
n = 0
for z in s:
for x in s:
for c in s:
for v in s:
for b in s:
for m in s:
for a in s:
slovo = z+x+c+v+b+m+a
#В алфавите всего 2 гласных: У, A.
#Нас удовлетворяет только то условие, где кол-во гласных в слове = 2
if slovo.count(’У’) + slovo.count(’А’) == 2:
n += 1
print(n)
Решение через itertools
from itertools import product
count = set()
for x in product(’КРУЖКА’,repeat = 7):
s = ’’.join(x)
# количество гласных букв в слове
count_gl = len([i for i in s if i in ’УА’])
if count_gl == 2:
count.add(s)
print(len(count))