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

Тек­сто­вый файл со­дер­жит стро­ки раз­лич­ной длины, со­дер­жа­щие толь­ко за­глав­ные буквы ла­тин­ско­го ал­фа­ви­та (ABC Z). Будем на­зы­вать це­поч­кой груп­пу иду­щих под­ряд оди­на­ко­вых букв в одной стро­ке. Опре­де­ли­те, сколь­ко раз буква, об­ра­зу­ю­щая самую длин­ную це­поч­ку в файле, встре­ча­ет­ся в стро­ке, со­дер­жа­щей эту це­поч­ку. Если в файле есть не­сколь­ко це­по­чек оди­на­ко­вой мак­си­маль­ной длины, нужно вы­брать ту из них, для ко­то­рой общее ко­ли­че­ство об­ра­зу­ю­щих це­поч­ку букв в со­от­вет­ству­ю­щей стро­ке будет боль­ше.

За­да­ние 24

При­мер.

Пусть файл со­дер­жит такие стро­ки:

ABBAAABBABBXY

XYYYXYAB

Здесь в пер­вой стро­ке есть це­поч­ка длины 3, об­ра­зо­ван­ная бук­ва­ми A, всего буква A в этой стро­ке встре­ча­ет­ся 5 раз. Во вто­рой стро­ке тоже есть це­поч­ка длины 3, но об­ра­зу­ю­щая эту це­поч­ку буква Y встре­ча­ет­ся в этой стро­ке всего 4 раза. 5 > 4, по­это­му в от­ве­те в дан­ном слу­чае надо за­пи­сать число 5.

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

Ре­ше­ние.

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

f = open('24.txt')

mx=-1

mxall=-1

for s in f:

k=1

for i in range(len(s)-1):

if s[i]==s[i+1]:

k+=1

if k>mx:

mx=k

mxall=s.count(s[i])

if k==mx:

mxall = max(s.count(s[i]), mxall)

else:

k=1

print(mxall)

 

Ответ: 45.


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