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

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

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

Ре­ше­ние.

Со­став­ля­ем че­ты­рех­бук­вен­ные слова. На пер­вые два места можно по­ста­вить одну из трех букв X, Y или Z. Это можно сде­лать 3 · 3  =  9 ва­ри­ан­та­ми. На два по­след­них места берем букву из че­ты­рех букв A, B, C или D. По­лу­ча­ем 4 · 4  =  16 ва­ри­ан­тов. Таким об­ра­зом, всего 9 · 16  =  144 ва­ри­ан­та.

 

Ответ: 144.

 

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

import itertools

alphabet = "ABCDXYZ"

s = 'XYZ'

s1 = 'ABCD'

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] in s and e[2] in s1 and e[3] in s1:

count += 1

print(count)

 

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

a12=['x','y','z']

a34=['a','b','c','d']

k=0

for b1 in a12:

for b2 in a12:

for b3 in a34:

for b4 in a34:

s=b1+b2+b3+b4

k+=1

print(k)

 

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

from itertools import product

counter1 = 0

counter2 = 0

for i in product("ABCD", repeat=2):

counter1 += 1

for i in product("XYZ", repeat=2):

counter2 += 1

print(counter1*counter2)

 

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

begin

'A, B, C, D, X, Y, Z'.Remove(', ')

.Cartesian(4).Count(s->

(s[1]in'XYZ')and(s[2]in'XYZ')and

(s[3]in'ABCD')and(s[4]in'ABCD')

).Print;

end.


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

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