Главная / ЕГЭ Информатика / Задание №24 / ID 34016
ID 34016 ЕГЭ Информатика Линия №24 СдамГИА ID: 76692 Анализ информационных моделей
✈️ TG ВК Следующая ⏭️
Текстовый файл состоит из цифр от 1 до 9, знаков операций «+», «–» и «*» (сложение, вычитание и умножение) и заглавных латинских букв A, B, C, D.
Назовём правильной суммой строку, содержащую последовательность из одного или более десятичных чисел, в которой между соседними числами стоит ровно один знак «+» или «-» и нет других знаков.
Примеры правильных сумм: «23», «115+6», «1980+12−123−51+3».
Назовём результатом правильной суммы число, которое получится при выполнении записанных в соответствующей строке сложений. Например, результат правильной суммы «2+3»  — число 5, а результат правильной суммы «1+2−8+3»  — число −2.
Найдите в данной строке расположенную непосредственно после буквы С правильную сумму с наибольшим результатом.
В ответе запишите результат найденной суммы. Гарантируется, что ответ не превышает 2 · 109.

Задание 24
💡 Пошаговый разбор и решение:
Приведём решение Юрия Красильникова на языке Python.

import re
s = re.findall(r'C[1-9]+(?:[+\-][1-9]+)*', open('24.txt').readline())
ans = -10**20
for x in s:
stop = [i for i in range(len(x)) if x[i] in '+-']
stop += [len(x)]
m = max([eval(x[1:t]) for t in stop])
ans = max(ans,m)
print(ans)

Ответ: 221.

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

def calc(s):
t=0
i=0
while s[i] in '123456789':
t=t*10+int(s[i])
i+=1
ans=[t]
while True:
op=s[i]
if op not in '+-': return max(ans)
i+=1
if s[i] not in '123456789': return max(ans)
t=0
while s[i] in '123456789':
t=t*10+int(s[i])
i+=1
ans.append(ans[-1]+(t if op == '+' else -t))
a = open('24.txt').readline().split('C')[1:]
print(max([calc(x+'!') for x in a if len(x) > 0 and x[0] in '123456789']))

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

begin
ReadAllText('24.txt').Matches('C(\d+(?:[+-]\d+)*)')
.Select(m-> m.Groups[1].Value.Matches('[+-]?\d+')
.Select(x-> x.Value.ToInteger)
.Scan(0, (acc, x)-> acc + x).Max).Max.Print;
end.
Правильный ответ: 221
📚 Похожие разобранные задания по предмету:
ID 29348 • Задание №1
Вычислите: 101010102 – 2528 + 716. Ответ запишите в десятичной системе счисления....
Смотреть разбор ↗
ID 140743 • Задание №13
Выберите ОДНО из предложенных ниже заданий: 13.1 или 13.2. 13.1 Используя информацию и иллюстративный материа...
Смотреть разбор ↗
🔗 Другие задания линии №24 по предмету Информатика:
ID 33959 Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количеств... ID 33960 Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите длину самой длинной по... ID 33961 Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальную длину цеп... ID 33962 Текстовый файл состоит не более чем из 106 символов A, B и C. Определите максимальное количеств... ID 33963 Текстовый файл состоит не более чем из 106 символов A, B и C. Определите максимальное количеств...
← Предыдущее задание 📚 Все задания по предмету Следующее задание →