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

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

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

Ре­ше­ние.

Если в ал­фа­ви­те M сим­во­лов, то ко­ли­че­ство всех воз­мож­ных «слов» (со­об­ще­ний) дли­ной N равно Q=M в сте­пе­ни N . Ко­до­вые слова устро­е­ны сле­ду­ю­щим об­ра­зом: на одном из мест стоит буква X, на осталь­ных про­из­воль­ные три сим­во­ла из ше­сти­бук­вен­но­го ал­фа­ви­та (за ис­клю­че­ни­ем сим­во­ла Х). Найдём ко­ли­че­ство ко­до­вых слов, в ко­то­рых буква X стоит на пер­вом месте: Q_1 = 5 в кубе = 125. Ясно, что ко­ли­че­ство ко­до­вых слов, в ко­то­рых буква X стоит на вто­ром, тре­тьем или четвёртом ме­стах, также равно 125. Всего ко­до­вых слов: 4 · 125  =  500.

 

Ответ: 500.

 

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

import itertools

alphabet = "ABCDEX"

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

arl = []

for i in ar:

arl.append(list(i))

count = 0

for e in arl:

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

count += 1

print(count)

 

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

begin

'A, B, C, D, E, X'.Remove(', ').Cartesian(4)

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

.Print;

end.


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

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