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

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

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

Ре­ше­ние.

Всего слов, в ко­то­рых буква Й не встре­ча­ет­ся вовсе, можно со­ста­вить 5 · 5 · 5 · 5 · 5 · 5  =  15625. Вы­чтем из этого числа ко­ли­че­ство слов, в ко­то­рых не встре­ча­ет­ся ни буква А, ни буква Й: 15625 − 4 · 4 · 4 · 4 · 4 · 4  =  11529  — это ко­ли­че­ство слов, в ко­то­рых буква А встре­ча­ет­ся хотя бы один раз, а буква Й не встре­ча­ет­ся.

Всего слов, в ко­то­рых буква Й встре­ча­ет­ся один раз на пер­вом месте, равно 1 · 5 · 5 · 5 · 5 · 5. Букву Й можно по­ста­вить на пер­вое, вто­рое, тре­тье, четвёртое, пятое и ше­стое места, зна­чит, всего таких слов 6 · 1 · 5 · 5 · 5 · 5 · 5  =  18750. Всего слов, в ко­то­рых буква Й встре­ча­ет­ся один раз на пер­вом месте, а буква А не встре­ча­ет­ся во­об­ще, равно 1 · 4 · 4 · 4 · 4 · 4. Букву Й можно по­ста­вить на пер­вое, вто­рое, тре­тье, четвёртое, пятое и ше­стое места, зна­чит, всего таких слов 6 · 1 · 4 · 4 · 4 · 4 · 4  =  6144. Таким об­ра­зом, во вто­ром слу­чае по­лу­чим 18750 − 6144  =  12606 слов  — это ко­ли­че­ство слов, где буква Й встре­ча­ет­ся ровно один раз, а буква А встре­ча­ет­ся хотя бы один раз.

Тогда ответ  — 11529 + 12606  =  24135.

 

Ответ: 24135.

 

При­ведём дру­гое ре­ше­ние на языке 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 and e.count("Й") <= 1:

count += 1

print(count)

 

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

s = 'АН­ДРЕЙ'

count = 0

for i1 in s:

for i2 in s:

for i3 in s:

for i4 in s:

for i5 in s:

for i6 in s:

s1 = i1 + i2 + i3 + i4 + i5 + i6

if 'А' in s1 and s1.count('Й') <= 1:

count += 1

print(count)

 

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

from itertools import product

count = 0

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

s = ''.join(i)

if 'А' in s and s.count('Й')<=1:

count += 1

print(count)


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

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