Ольга составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Ольга использует 4-буквенные слова, в которых есть только буквы A, B, C, D, X, Y, Z. При этом первая буква кодового слова — это
Существует
Ответ: 192.
Приведём другое решение на языке Python.
import itertools
alphabet = "ABCDXYZ"
s = 'XYZ'
ar = itertools.product(alphabet, repeat=4) #Размещение с повторением
arl = []
for i in ar:
arl.append(list(i))
count = 0
for e in arl:
if e[0] in s and e[1] not in s and e[2] not in s and e[3] not in s:
count += 1
print(count)
Приведём другое решение на языке Python.
n = 0
for x in 'XYZ':
for y in 'ABCD':
for z in 'ABCD':
for w in 'ABCD':
s = x + y + z + w
n+=1
print(n)
Приведём решение Ильи Крылова на языке Python.
from itertools import product
counter = 0
for i in product("ABCDXYZ", repeat=4):
if(i[0] in "XYZ") and (i.count("X") + i.count("Y") + i.count("Z") == 1):
counter+=1
print(counter)
Приведём решение Бориса Савельева на языке Python.
from itertools import product
a = 'XYZ'
b = 'ABCD'
s = product(a,b,b,b)
k = 0
for i in s:
k += 1
print(k)
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
'ABCDXYZ'.Cartesian(4)
.Where(s->(s[1] in 'XYZ') and
(
((s.CountOf('X')=1)and(s.CountOf('Y')=0)and(s.CountOf('Z')=0))or
((s.CountOf('X')=0)and(s.CountOf('Y')=1)and(s.CountOf('Z')=0))or
((s.CountOf('X')=0)and(s.CountOf('Y')=0)and(s.CountOf('Z')=1))
)
).Count.Print;
end.

