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

Все пя­ти­бук­вен­ные слова, в со­ста­ве ко­то­рых могут быть толь­ко буквы Б, А, Т, Ы, Р, за­пи­са­ны в ал­фа­вит­ном по­ряд­ке и про­ну­ме­ро­ва­ны на­чи­ная с 1.

Ниже при­ве­де­но на­ча­ло спис­ка.

1.  ААААА

2.  ААААБ

3.  ААААР

4.  ААААТ

5.  ААААЫ

6.  АААБА

...

 

Под каким но­ме­ром в спис­ке идёт пер­вое слово, ко­то­рое не со­дер­жит ни одной буквы Ы и не со­дер­жит букв А, сто­я­щих рядом?

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

Ре­ше­ние.

За­ме­ним буквы на цифры сле­ду­ю­щим об­ра­зом: А  — 0, Б  — 1, Р  — 2, Т  — 3, Ы  — 4. По­лу­ча­ем спи­сок:

1.  00000

2.  00001

3.  00002

4.  00003

5.  00004

...

 

За­ме­тим, что пер­вое слово, не со­дер­жа­щее букв Ы и сто­я­щих рядом букв А можно за­пи­сать как АБАБА  — это и будет пер­вое такое слово. Ис­поль­зу­ет­ся пя­ти­бук­вен­ный ал­фа­вит, зна­чит, чтобы найти номер слова АБАБА, нужно найти зна­че­ние числа 010105 в де­ся­тич­ном виде. Им яв­ля­ет­ся число 13010, но по­сколь­ку номер в спис­ке на еди­ни­цу боль­ше са­мо­го числа, то остаётся до­ба­вить к по­лу­чив­ше­му­ся числу еди­ни­цу. По­лу­ча­ем 131.

 

Ответ: 131.

 

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

a = {0: "А", 1: "Б", 2: "Р", 3: "Т", 4: "Ы"}

k = 0

for i in range(0, len(a)):

for j in range(0, len(a)):

for g in range(0, len(a)):

for m in range(0, len(a)):

for n in range(0, len(a)):

k += 1

s = a[i] + a[j] + a[g] + a[m] + a[n]

if s.count("Ы") == 0 and s.count("АА") == 0:

print(k) # Возь­мем пер­вое число, ко­то­рое вы­ве­дет про­грам­ма

 

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

from itertools import product

 

s = product('АБРТЫ', repeat=5)

a = []

k = 1

for i in s:

p=''.join(i)

if p.count('Ы')==0 and p.count('АА')==0:

a.append(k)

k += 1

print(min(a))

Источник: ЕГЭ по ин­фор­ма­ти­ке 04.04.2022. До­сроч­ная волна