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

В качестве кодовых слов Егор использует 5-буквенные слова, в которых есть только буквы К,Р,У,Ж,Е,В,О, причём буква Е появляется ровно 2 раза. Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может составить Егор?

Решение руками

Для двух букв в слове, рассмотрим пример, пусть две буквы Е занимают первые две позиции, тогда на остальных трех позициях может стоять любая из 6-ти букв.

Е Е 6 6 6

Вторая буква Е может стоять на любой из 4 позиции, если первая стоит на первой. Если первая Е стоит на второй позиции, то у второй буквы Е всего 3 варианта, так как если поставить вторую букву Е на первую позицию, то получим дубликат.

Посчитав по аналогии число перестановок Е получаем, что всего слов, в которых буква Е встречается 2 раз: (4+ 3 + 2+ 1)⋅6⋅6 ⋅6 = 10⋅63 = 2160  .

Решение через циклы

s = ’КРУЖЕВО’

k = 0
for a in s:
    for b in s:
        for c in s:
            for d in s:
                for e in s:
                    w = a+b+c+d+e
                    if w.count(’Е’) == 2: # проверка по условию
                        k += 1
print(k)

Решение через itertools

from itertools import product

count = set()
for x in product(’КРУЖЕВО’,repeat = 5):
    s = ’’.join(x)
    if s.count(’Е’) == 2: # проверка по условию
        count.add(s)
print(len(count))

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