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

Ан­дрей со­став­ля­ет 4-⁠бук­вен­ные коды из букв А, Н, Д, Р, Е, Й. Каж­дую букву можно ис­поль­зо­вать любое ко­ли­че­ство раз, при этом код не может на­чи­нать­ся с буквы Й и дол­жен со­дер­жать хотя бы одну глас­ную. Сколь­ко раз­лич­ных кодов может со­ста­вить Ан­дрей?

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

Ре­ше­ние.

Найдём все слова, не на­чи­на­ю­щи­е­ся с буквы Й: 5 · 6 · 6 · 6  =  1080. Те­перь вы­чтем из них все слова, не на­чи­на­ю­щи­е­ся с буквы Й и не со­дер­жа­щие глас­ных: 1080 − 3 · 4 · 4 · 4  =  888. Таким об­ра­зом, ответ  — 888.

 

Ответ: 888.

 

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

import itertools

alphabet = "АН­ДРЕЙ"

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

arl = []

for i in ar:

arl.append(list(i))

count = 0

for e in arl:

flag = True

for i in range(len(e)):

if (e[0] == "Й") or (e.count("Е") + e.count("А") == 0):

flag = False

if flag:

count += 1

print(count)

 

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

from itertools import product

count = 0

for var in product('АН­ДРЕЙ', repeat=4):

slovo = ''.join(var)

if slovo[0] != 'Й' and any(x in slovo for x in 'АЕ'):

count += 1

print(count)

 

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

begin

'А, Н, Д, Р, Е, Й'.Remove(', ').Cartesian(4)

.Where(s->s[1] <> 'Й')

.Where(s->(s.CountOf('А')>0)or(s.CountOf('Е')>0)

).Count.Print;

end.


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

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