Задача к ЕГЭ по информатике на тему «Комбинаторика» №2

Из букв слова А,Р,Г,У,М,Е,Н,Т составляются 8-буквенные последовательности. Сколько можно составить различных последовательностей таких, что каждая буква в них используется ровно один раз, они содержат сочетание букв ЕН и не начинаются с согласной буквы?

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

Найдем количество последовательнотсей с сочетанием букв ЕН, при этом не забывая ограничения на согласные буквы:

1. Е Н * * * * * * = 1⋅1 ⋅6⋅5⋅4 ⋅3⋅2⋅1 = 720  слов.

2. * Е Н * * * * * = 2⋅1⋅1 ⋅5⋅4⋅3 ⋅2⋅1 = 240  слов (так как на первом месте могут стоять только две гласные: А и У)

3. * * Е Н * * * * = 2⋅5 ⋅1⋅1⋅4 ⋅3⋅2⋅1 = 240  слов.

4. * * * Е Н * * * = 2⋅5 ⋅4⋅1⋅1 ⋅3⋅2⋅1 = 240  слов.

5. * * * * Е Н * * = 2⋅5 ⋅4⋅3⋅1 ⋅1⋅2⋅1 = 240  слов.

6. * * * * * Е Н * = 2⋅5 ⋅4⋅3⋅2 ⋅1⋅1⋅1 = 240  слов.

7. * * * * * * Е Н = 2⋅5 ⋅4⋅3⋅2 ⋅1⋅1⋅1 = 240  слов.

Тогда существует 240 ⋅6+ 720 = 2160  последовательностей.

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

a = ’АРГУМЕНТ’
count = set()
for x1 in ’УЕА’:
    for x2 in a:
        for x3 in a:
            for x4 in a:
                for x5 in a:
                    for x6 in a:
                        for x7 in a:
                            for x8 in a:
                                s = x1+x2+x3+x4+x5+x6+x7+x8
                                if ’ЕН’ in s and len(set(s)) == len(s):
                                    count.add(s)
print(len(count))

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

from itertools import permutations

count = set()

for x in permutations(’АРГУМЕНТ’):
    s = ’’.join(x)
    if s[0] in ’УЕА’ and ’ЕН’ in s:
        count.add(s)
print(len(count))

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