Максим Олегович составляет 6-буквенные слова, в которых есть только буквы М, А, Ш, И, Н, причём в слове должна быть хотя бы одна согласная буква. Все буквы могут встречаться в слове любое количество раз или не встречаться совсем, если соблюдаются условия. Сколько существует таких слов, в которых будет ровно одна гласная буква?
Решение руками
Из условия мы понимаем, что в слове должно быть 5 согласных букв и одна гласная. Допустим гласная стоит на первом месте, тогда всего таких вариантов 2 * 3 * 3 * 3 * 3 * 3. Но гласная может стоять не только на первом месте, поэтому умножаем это число на 6. Тогда получаем 2 * 3 * 3 * 3 * 3 * 3 * 6 = 2916
Решение через itertools
from itertools import product
ans = 0
for i in product(’МАШИН’, repeat=6):
s = ’’.join(i)
if s.count(’М’) >= 1 or s.count(’Ш’) >= 1 or s.count(’Н’) >= 1:
k = s.count(’А’) + s.count(’И’)
if k == 1: ans += 1
print(ans)
Решение через циклы
a = ’МАШИН’ # наше слово
sogl = ’МШН’ # согласные буквы нашего слова
gl = ’АИ’ # гласные буквы нашего слова
count = 0
# перебор наших букв
for x1 in a:
for x2 in a:
for x3 in a:
for x4 in a:
for x5 in a:
for x6 in a:
s = x1+x2+x3+x4+x5+x6 # составляем слово
# проверка, что есть хотя бы одна согласная буква и при этом в слове ровно одна гласная буква
if sum(s.count(i) for i in sogl) >= 1 and sum(s.count(i) for i in gl) == 1:
count += 1
print(count)