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

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

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

Ре­ше­ние.

Су­ще­ству­ет 2 ва­ри­ан­та буквы на первую по­зи­цию и по 4 ва­ри­ан­та буквы на вто­рую, тре­тью и чет­вер­тую по­зи­цию, то есть 2 · 4 · 4 · 4  =  128.

 

Ответ: 128.

 

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

import itertools

alphabet = "ABCDXY"

s = 'XY'

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)

 

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

begin

'ABCDXY'.Cartesian(4)

.Where(s->(s[1] in 'XY') and

(((s.CountOf('X')=1)and(s.CountOf('Y')=0))or

((s.CountOf('X')=0)and(s.CountOf('Y')=1))) )

.Count.Print;

end.


Аналоги к заданию № 13459: 13406 Все

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