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

Все 5⁠-⁠бук­вен­ные слова, в со­ста­ве ко­то­рых могут быть толь­ко буквы Э, Л, Ь, Б, Р, У, С, за­пи­са­ны в ал­фа­вит­ном по­ряд­ке и про­ну­ме­ро­ва­ны.

Вот на­ча­ло спис­ка:

1.  БББББ

2.  ББББЛ

3.  ББББР

4.  ББББС

5.  ББББУ

6.  ББББЬ

...

Под каким но­ме­ром в спис­ке идёт по­след­нее слово c чётным но­ме­ром, ко­то­рое со­дер­жит не менее двух букв С, одну букву Л и не со­дер­жит букв Э, сто­я­щих рядом?

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

Ре­ше­ние.

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

from itertools import product

count = 0

m = []

for p in product(sorted("ЭЛЬ­БРУС"), repeat=5):

count += 1

s = ''.join(p)

if count%2 == 0 and ("ЭЭ" not in s) and s.count("С") >= 2 and s.count("Л") == 1:

m.append(count)

print(max(m))

 

Ответ: 15948.

 

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

begin

'Э, Л, Ь, Б, Р, У, С, '.remove(', ')

.Sorted.JoinToString

.Cartesian(5).Numerate

.Where(\(n,s)-> (n mod 2 = 0)) // c чётным но­ме­ром

.Where(\(n,s)-> s.CountOf('С') >= 2) // не менее двух букв С

.Where(\(n,s)-> s.CountOf('Л') = 1) //одну букву Л

.Where(\(n,s)-> not s.isMatch('[Э][Э]') ) // не со­дер­жит букв Э, сто­я­щих рядом

.Last//(15948,ЭУССЛ)//по­след­нее слово

.Item1//15948 // номер ис­ко­мо­го слова

.Print;

end.


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