Задания
Версия для печати и копирования в MS Word
Тип 8 № 10286
i

Алек­сей со­став­ля­ет таб­ли­цу ко­до­вых слов для пе­ре­да­чи со­об­ще­ний, каж­до­му со­об­ще­нию со­от­вет­ству­ет своё ко­до­вое слово. В ка­че­стве ко­до­вых слов Алек­сей ис­поль­зу­ет 5-⁠бук­вен­ные слова, в ко­то­рых есть толь­ко буквы A, B, C, X, причём буква X может по­явить­ся толь­ко на по­след­нем месте или не по­явить­ся вовсе. Сколь­ко раз­лич­ных ко­до­вых слов может ис­поль­зо­вать Алек­сей?

Спрятать решение

Ре­ше­ние.

На пер­вом месте может быть 3 буквы, на вто­ром  — 3, на тре­тьем  — 3, на четвёртом  — 3, а на пятом  — 4.

То есть всего раз­лич­ных ком­би­на­ций 3 умно­жить на 3 умно­жить на 3 умно­жить на 3 умно­жить на 4 = 81 умно­жить на 4 = 324.

 

Ответ: 324.

 

При­ведём дру­гое ре­ше­ние на языке Python.

import itertools

alphabet = "ABCX"

ar = itertools.product(alphabet, repeat=5) #Раз­ме­ще­ние с по­вто­ре­ни­ем

arl = []

for i in ar:

arl.append(list(i))

count = 0

for e in arl:

if (e[-1] == 'X' or e[-1] != 'X') and e[0] != 'X' and e[1] != 'X' and e[2] != 'X' and e[3] != 'X':

count += 1

print(count)

 

При­ведём ре­ше­ние Ами­ро­ва Ти­му­ра на языке Python.

slovo='abcx'

count=0

for x1 in slovo:

for x2 in slovo:

for x3 in slovo:

for x4 in slovo:

for x5 in slovo:

s = x1 + x2 + x3 + x4 +x5

if s.count('x')==1 and x5=='x' or s.count('x')==0:

count+=1

print(count)

 

При­ведём ре­ше­ние Юрия Кра­силь­ни­ко­ва на языке Python.

import itertools

k=0

for p in itertools.product('ABCX',repeat=5):

if not 'X' in p[0:4]:

k += 1

print(k)

 

При­ведём ре­ше­ние Сер­гея Донец на языке PascalABC.NET.

begin

'ABCX'.Cartesian(5)

.Where(s->(s.CountOf('X')=0)or

((s.last='X')and(s.CountOf('X')=1))

).Count.Print;

end.


Аналоги к заданию № 9760: 10286 10384 13594 Все

Раздел кодификатора ФИПИ: 1.6.1 Фор­ма­ли­за­ция по­ня­тия ал­го­рит­ма