Борис составляет 6-буквенные коды из букв Б, О, Р, И, С.
Найдём количество шестибуквенных слов, в которых есть ровно одна
1. Если
2. Если
При этом
Тогда количество различных кодов: 30 · (16 + 32) = 1440.
Ответ: 1440.
Приведём решение на языке Python.
import itertools
alphabet = "БОРИС"
ar = itertools.product(alphabet, repeat=6) #Размещение с повторением
arl = []
for i in ar:
arl.append(list(i))
count = 0
for e in arl:
if e.count("Б") == 1 and e.count("Р") == 1 and e.count("С") <= 1:
count += 1
print(count)
Приведём решение Ильи Андрианова на языке Python.
from itertools import *
cnt = 0
for per in product('БОРИС', repeat=6):
slovo = ''.join(per)
if slovo.count('Б') == 1 and slovo.count('Р') == 1 and slovo.count('С') <= 1:
cnt += 1
print(cnt)
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
'Б, О, Р, И, С'.Remove(', ').Cartesian(6)
.where(s->(s.CountOf('Б')=1))
.where(s->(s.CountOf('Р')=1))
.where(s->(s.CountOf('С')<=1))
.Count.Print;
end.

