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

Из букв слова БЕЗУМСТВО составляются 9-буквенные последовательности. Сколько можно составить различных последовательностей таких, что каждая буква в них используется ровно один раз, они содержат сочетание букв БУМ и согласная не может стоять на первом и третьем месте?

Можно составить следующие комбинации слов с сочетанием букв БУМ:

2 * _ * _ * _ * 5 * 4 * 3 * 2 * 1 = 240

2 * 4 * 1 * _ * _ * _ * 3 * 2 * 1 = 48

2 * 4 * 1 * 3 * _ * _ * _ * 2 * 1 = 48

2 * 4 * 1 * 3 * 2 * _ * _ * _ * 1 = 48

2 * 4 * 1 * 3 * 2 * 1 * _ * _ * _ = 48

В начале всегда выбор из двух оставшихся букв. На втором месте 8-3(БУМ)-1 гласная на третьей позиции. На третьей позиции — оставшаяся гласная. Дальше сочетания оставшихся букв.

Решение программой (циклы):

ans = set()
alf = ’БЕЗУМСТВО’

for x1 in ’ЕУО’:
    for x2 in alf:
        for x3 in ’ЕУО’:
            for x4 in alf:
                for x5 in alf:
                    for x6 in alf:
                        for x7 in alf:
                            for x8 in alf:
                                for x9 in alf:
                                    w = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9
                                    if ’БУМ’ in w and len(w) == len(set(w)):
                                        ans.add(w)
print(len(ans))

Решение программой (itertools):

from itertools import permutations

ans = set()
alf = ’БЕЗУМСТВО’

for w in permutations(alf, 9):
    w = ’’.join(w)
    if ’БУМ’ in w and w[0] not in ’БЗМСТВ’ and w[2] not in ’БЗМСТВ’:
        ans.add(w)
print(len(ans))

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