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

Иван со­став­ля­ет 5-⁠бук­вен­ные коды из букв И, В, А, Н. Буквы в коде могут по­вто­рять­ся, ис­поль­зо­вать все буквы не обя­за­тель­но, но букву И нужно ис­поль­зо­вать хотя бы один раз. Сколь­ко раз­лич­ных кодов может со­ста­вить Иван?

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

Ре­ше­ние.

Сна­ча­ла найдём общее ко­ли­че­ство слов: 4 · 4 · 4 · 4 · 4  =  1024. После этого вы­чтем из них ко­ли­че­ство слов, в ко­то­рых буква И не встре­ча­ет­ся: 1024 − 3 · 3 · 3 · 3 · 3  =  781. Таким об­ра­зом, Иван может со­ста­вить 781 код.

 

Ответ: 781.

 

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

import itertools

alphabet = "ИВАН"

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

arl = []

for i in ar:

arl.append(list(i))

count = 0

for e in arl:

if e.count("И") >= 1:

count += 1

print(count)

 

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

symbols = 'ИВАН'

count = 0

for a in symbols:

for b in symbols:

for c in symbols:

for d in symbols:

for e in symbols:

s = a + b + c + d + e

if s.count('И') >= 1:

count += 1

print(count)

 

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

import itertools

arl = []

for i in itertools.product('ИВАН', repeat=5):

if i.count('И') >= 1:

arl.append(i)

print(len(arl))

 

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

begin

'ИВАН'.Cartesian(5)

.Where(s->(s.CountOf('И')>0)//хотя бы один раз

).Count.Print;

end.


Аналоги к заданию № 18558: 18586 18712 18816 Все

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