Задача к ЕГЭ по информатике на тему «поиск максимальной подстроки» №7

Текстовый файл 24_7.txt состоит из символов, обозначающих знаки «+», «*» и десятичных цифр.

Определите максимальное значение, которое является результатом вычисления непрерывной последовательности, являющейся корректным арифметическим выражением с целыми неотрицательными числами, в котором обязательно присутствует операция умножения, но операция сложения может как присутствовать, так и полностью отсутствовать.

В этом выражении никакие два знака арифметических операций не стоят рядом. В записи чисел отсутствуют незначащие (ведущие) нули и число 0 не имеет знака.

В ответе укажите значение полученного выражения.

import re
f = open("24_7.txt")
s = f.readline()
# 1. (0|[1-9]d*) — число: 0 или число без ведущих нулей.
# 2. (?:[+*](0|[1-9]d*))+ — группа: оператор (+ или *) и число, повторяется 1+ раз.
pattern = re.compile(
    r"(0|[1-9]d*)(?:[+*](0|[1-9]d*))+"
)
matches = pattern.finditer(s)
max_value = 0
for match in matches:
    exp = match.group()
    if ’*’ in exp:
        value = eval(exp)
        max_value = max(max_value, value)
print(max_value)

Ответ: 21845377589406941406424045870280528538916509558058704434454291
Оцените статью
Я решу все!