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

Игорь со­став­ля­ет таб­ли­цу ко­до­вых слов для пе­ре­да­чи со­об­ще­ний, каж­до­му со­об­ще­нию со­от­вет­ству­ет своё ко­до­вое слово. В ка­че­стве ко­до­вых слов Игорь ис­поль­зу­ет трёхбук­вен­ные слова, в ко­то­рых могут быть толь­ко буквы Ш, К, О, Л, А, причём буква К по­яв­ля­ет­ся ровно 1 раз. Каж­дая из дру­гих до­пу­сти­мых букв может встре­чать­ся в ко­до­вом слове любое ко­ли­че­ство раз или не встре­чать­ся со­всем. Сколь­ко раз­лич­ных ко­до­вых слов может ис­поль­зо­вать Игорь?

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

Ре­ше­ние.

Пусть К стоит на пер­вом месте. Тогда на осталь­ных двух по­зи­ци­ях может сто­ять любая из четырёх остав­ших­ся букв. То есть всего 4 умно­жить на 4 = 16 ком­би­на­ций.

Если К стоит на вто­ром месте, то также остаётся две по­зи­ции, на каж­дой из ко­то­рых может на­хо­дить­ся любая из четырёх остав­ших­ся цифр.

Такие же рас­суж­де­ния, если К стоит на тре­тьем месте.

То есть всего по­лу­ча­ет­ся 16 умно­жить на 3 = 48 ва­ри­ан­тов.

 

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

import itertools

alphabet = "ШКОЛА"

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

arl = []

for i in ar:

arl.append(list(i))

count = 0

for e in arl:

if e.count("К") == 1:

count += 1

print(count)

 

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

begin

'Ш, К, О, Л, А'.Remove(', ').Cartesian(3)

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

.Print;

end.


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

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ−2021 по ин­фор­ма­ти­ке
Раздел кодификатора ФИПИ: 1.6.1 Фор­ма­ли­за­ция по­ня­тия ал­го­рит­ма