Из букв слова БЕЗУМСТВО составляются 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))