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

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

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

Ре­ше­ние.

Су­ще­ству­ет 6 ва­ри­ан­тов рас­по­ло­же­ния X, а для каж­до­го из этих ва­ри­ан­тов  —  2 в сте­пе­ни левая круг­лая скоб­ка 5 пра­вая круг­лая скоб­ка ва­ри­ан­тов дру­гих 5 букв. Тогда имеем 6 · 32  =  192.

 

Ответ: 192.

 

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

import itertools

alphabet = "ABX"

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

arl = []

for i in ar:

arl.append(list(i))

count = 0

for e in arl:

if e.count('X') == 1:

count += 1

print(count)

 

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

count = 0

abc = 'ABX'

for x1 in abc:

for x2 in abc:

for x3 in abc:

for x4 in abc:

for x5 in abc:

for x6 in abc:

slovo = x1+x2+x3+x4+x5+x6

if slovo.count('X') == 1:

count += 1

print(count)

 

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

begin

'A, B, X'

.Remove(', ').Cartesian(6)

.Count(s->(s.CountOf('X')=1))

.Print;

end.


Аналоги к заданию № 9361: 9796 10313 10411 ... Все

Источник: Тре­ни­ро­воч­ная ра­бо­та по ИН­ФОР­МА­ТИ­КЕ 11 класс 29 но­яб­ря 2016 года Ва­ри­ант ИН10204
Раздел кодификатора ФИПИ: 1.6.1 Фор­ма­ли­за­ция по­ня­тия ал­го­рит­ма