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

Текстовый файл состоит из цифр тринадцатеричной системы счисления и знаков операций «+» и «*».

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

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

В ответе укажите количество символов в найденном выражении.

from re import *

s = open(’24_2.txt’).readline()
# выстраиваем маску подходящего числа
# либо это число, в котором первая цифра от 1 до 7, а последующие от 0 до 7
# либо это число 0
num = r’([1-7][0-7]*|0)’

# выстраиваем маску подходящей подстроки
# между числами может быть ровно один знак
reg = rf’{num}([*+]{num})*’

# определяем максимальную длину подпоследовательности
m = max([x.group() for x in finditer(reg,s)],key = len)

print(len(m))

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