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

Вася со­став­ля­ет 6-⁠бук­вен­ные слова из букв К, О, Т. При­чем буква К ис­поль­зу­ет­ся в каж­дом слове ровно 1 раз. Осталь­ные буквы могут быть ис­поль­зо­ва­ны любое ко­ли­че­ство раз, в том числе со­всем от­сут­ство­вать. Сколь­ко слов может со­ста­вить Вася? Сло­вом на­зы­ва­ет­ся любая бук­вен­ная ком­би­на­ция, не обя­за­тель­но осмыс­лен­ное слово рус­ско­го языка.

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

Ре­ше­ние.

Пусть К стоит в слове на пер­вом месте. Тогда на каж­дое из остав­ших­ся 5 мест можно по­ста­вить не­за­ви­си­мо одну из 2 букв. То есть всего 2 умно­жить на 2 умно­жить на 2 умно­жить на 2 умно­жить на 2 = 32 ва­ри­ан­та.

Таким об­ра­зом, К можно по оче­ре­ди по­ста­вить на все 6 мест, в каж­дом слу­чае по­лу­чая 32 ва­ри­ан­та.

Итого по­лу­ча­ет­ся 32 умно­жить на 6 = 192 слова.

 

Ответ: 192.

 

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

import itertools

alphabet = "КОТ"

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

arl = []

for i in ar:

arl.append(list(i))

count = 0

for e in arl:

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

count += 1

print(count)

 

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

from itertools import *

cnt = 0

for per in product('КОТ', repeat=6):

slovo = ''.join(per)

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

cnt += 1

print(cnt)

 

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

begin

'К, О, Т'.Remove(', ').Cartesian(6)

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

end.


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

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