Митрофан составляет коды из букв, входящих в слово МИТРОФАН. Код должен состоять из
Приведём аналитическое решение Юрия Красильникова.
Имеем
Подсчитаем К1 — количество слов, содержащих одну гласную. Выбираем одну гласную из трех и пять согласных из пяти, число способов — 3. Умножаем на число перестановок. К1 = 3 · 6!=2160.
Подсчитаем К2 — количество слов, содержащих две гласные. Выбираем две гласные из трех и четыре согласных из пяти, число способов — 3 · 5 = 15. Умножаем на число перестановок. К2 = 15 · 6! = 10800.
Подсчитаем К2р — количество слов с двумя гласными, где они стоят рядом. Из трех
Число слов — это
Приведём решение на языке Python.
s = 'МИТРОФАН'
count = 0
for a in s:
for b in s:
for c in s:
for d in s:
for e in s:
for f in s:
s1 = a + b + c + d + e + f
if s1.count('М') <= 1 and s1.count('И') <= 1 and s1.count('Т') <= 1 and \
s1.count('Р') <= 1 and s1.count('О') <= 1 and s1.count('Ф') <= 1 and \
s1.count('А') <= 1 and s1.count('Н') <= 1 and \
s1.count('М') + s1.count('Т') + s1.count('Р') + s1.count('Ф') +s1.count('Н') > s1.count('И') + s1.count('О') + s1.count('А') and \
s1.count('АА') == 0 and s1.count('АИ') == 0 and s1.count('АО') == 0 and s1.count('ИА') == 0 and s1.count('ОА') == 0 and s1.count('ИО') == 0 and \
s1.count('ОИ') == 0 and s1.count('ОО') == 0 and s1.count('ИИ') == 0:
count += 1
print(count)
Ответ: 9360.
Приведём решение Софии Разаевой на языке Python.
from itertools import *
k = k1 = k2 = 0
c1 = 'ИОА'
c2 = 'МТРФН'
for p in permutations('МИТРОФАН', 6):
s = ''.join(p)
k1, k2 = 0, 0
k1 += (s[0] in c1)
k2 += (s[0] in c2)
for i in range(len(s)-1):
k1 += (s[i+1] in c1)
k2 += (s[i+1] in c2)
if s[i] in c1 and s[i+1] in c1:
break
else:
if k2 > k1:
k += 1
print(k)
Приведём решение Ильи Андрианова на языке Python.
from itertools import *
cnt = 0
for p in permutations('МИТРОФАН', r=6):
slovo = ''.join(p)
sogl = [x for x in slovo if x in 'МТРФН']
glas = [x for x in slovo if x in 'ИОА']
if len(sogl) > len(glas):
slovo = slovo.replace('О', 'А').replace('И', 'А')
if 'АА' not in slovo:
cnt += 1
print(cnt)
Приведём решение Бориса Савельева на языке Python.
import itertools
k=0
glas='ИОА'
for p in itertools.permutations('МИТРОФАН',6):
if sum([c in glas for c in p]) < 3 and sum([(p[i] in glas and p[i+1] in glas) for i in range(5)]) == 0:
k+=1
print(k)
Приведём решение Юрия Красильникова на языке Python.
from itertools import*
s=permutations('МИТРОФАН', 6)
k=0
for i in s:
p=''.join(i)
if (p.count('М')+p.count('Т')+p.count('Р')+p.count('Ф')+p.count('Н')>p.count('И')+p.count('О')+p.count('А')):
if p.count('ИО')==0 and p.count('ИА')==0 and p.count('ОИ')==0 and p.count('ОА')==0 and p.count('АИ')==0 and p.count('АО')==0:
k+=1
print(k)

