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

Сколь­ко слов длины 5, на­чи­на­ю­щих­ся с со­глас­ной буквы и за­кан­чи­ва­ю­щих­ся глас­ной бук­вой, можно со­ста­вить из букв З, И, М, А? Каж­дая буква может вхо­дить в слово не­сколь­ко раз. Слова не обя­за­тель­но долж­ны быть осмыс­лен­ны­ми сло­ва­ми рус­ско­го языка.

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

Ре­ше­ние.

В конце может сто­ять две буквы: И или А, а в на­ча­ле  — буквы З или М. Таким об­ра­зом, можно со­ста­вить 2 · 43 · 2  =  256 слов.

 

Ответ: 256.

 

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

import itertools

alphabet = "ЗИМА"

con = "ЗМ"

vol = "ИА"

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

arl = []

for i in ar:

arl.append(list(i))

count = 0

for e in arl:

if e[0] in con and e[-1] in vol:

count += 1

print(count)

 

 

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

count = 0

for i1 in 'ЗИМА':

for i2 in 'ЗИМА':

for i3 in 'ЗИМА':

for i4 in 'ЗИМА':

for i5 in 'ЗИМА':

s = i1 + i2 + i3 + i4 + i5

if (s[0] == 'З' or s[0] == 'М') and (s[4] == 'И' or s[4] == 'А'):

count += 1

print(count)

 

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

from itertools import product

count = 0

for i in product('ЗИМА', repeat=5):

s = ''.join(i)

if (s[0] == 'З' or s[0] == 'М') and (s[4] == 'И' or s[4] == 'А'):

count += 1

print(count)

 

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

from itertools import *

words = [''.join(i) for i in product(sorted('ЗИМА'), repeat=5) if (i[0] in 'ЗМ') and (i[-1] in 'ИА')]

print(len(words))

 

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

begin

'ЗИМА'.Cartesian(5)

.Where(s->s.First in 'ЗМ')

.Where(s->s.Last in 'ИА')

.Count.Print;

end.


Аналоги к заданию № 7986: 9194 9302 Все

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