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

Тек­сто­вый файл со­сто­ит из цифр от 1 до 9, зна­ков опе­ра­ций «+», «–» и «*» (сло­же­ние, вы­чи­та­ние и умно­же­ние) и за­глав­ных ла­тин­ских букв A, B, C, D.

Назовём пра­виль­ной сум­мой стро­ку, со­дер­жа­щую по­сле­до­ва­тель­ность из од­но­го или более де­ся­тич­ных чисел, в ко­то­рой между со­сед­ни­ми чис­ла­ми стоит ровно один знак «+» и нет дру­гих зна­ков.

При­ме­ры пра­виль­ных сумм: «23», «115+6», «1980+12−123−51+3».

Назовём ре­зуль­та­том пра­виль­ной суммы число, ко­то­рое по­лу­чит­ся при вы­пол­не­нии за­пи­сан­ных в со­от­вет­ству­ю­щей стро­ке сло­же­ний. На­при­мер, ре­зуль­тат пра­виль­ной суммы «2+3»  — число 5, а ре­зуль­тат пра­виль­ной суммы «1+2−8+3»  — число −2.

Най­ди­те в дан­ной стро­ке рас­по­ло­жен­ную не­по­сред­ствен­но после буквы A пра­виль­ную сумму, со­дер­жа­щую наи­боль­шее число сим­во­лов, и вы­чис­ли­те её ре­зуль­тат. Если не­сколь­ко пра­виль­ных сумм со­дер­жат оди­на­ко­вое наи­боль­шее число сим­во­лов, вы­бе­ри­те ту, ко­то­рая имеет боль­ший ре­зуль­тат.

В от­ве­те за­пи­ши­те ре­зуль­тат най­ден­ной суммы. Га­ран­ти­ру­ет­ся, что ответ не пре­вы­ша­ет 2 · 109.

За­да­ние 24

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

Ре­ше­ние.

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

from re import *

s = open('24.txt').readline()

s_A = findall(r'A[1-9]+(?:[+\-][1-9]+)*', s)

len_s = []

otv = []

for i in range(len(s_A)):

len_s.append(len(s_A[i]))

maxi = max(len_s)

for j in range(len(s_A)):

if len(s_A[j]) == maxi:

otv.append(eval(s_A[j][1:]))

print(max(otv))

 

 

Ответ: 127.


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