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

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

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

Ре­ше­ние.

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

from itertools import product

count = 0

for p in product("КОН­ФЕ­ТА", repeat=5):

if p.count("Е") == 2 and p[1]!="Ф":

count+=1

print(count)

 

Ответ: 1944.

 

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

a = {0: "К", 1: "О", 2: "Н", 3: "Ф", 4: "Е", 5: "Т", 6: "А"}

count = 0

for i in range(0, len(a)):

for j in range(0, len(a)):

for g in range(0, len(a)):

for m in range(0, len(a)):

for n in range(0, len(a)):

s = a[i] + a[j] + a[g] + a[m] + a[n]

if a[j] != 'Ф' and s.count('Е') == 2:

count += 1

print(count)

 

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

from itertools import product

print(len([p for p in product('КОН­ФЕ­ТА',repeat = 5) if p.count('Е') == 2 and p[1] != 'Ф']))

 

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

begin

'КОН­ФЕ­ТА'.Cartesian(5)

.Where(s->s[2]<>'Ф') // вто­рая буква не Ф

.Where(s->s.CountOf('Е')=2) // буква Е ровно 2 раза

.Count.print; // 1944

end.

Источник: ЕГЭ по ин­фор­ма­ти­ке 19.06.2023. Ос­нов­ная волна. Даль­ний Во­сток