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

Артём составляет коды из букв, входящих в слово КРУЖКА. Код должен состоять из 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))

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