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

Текстовый файл состоит не более чем из 106  символов и содержит только цифры шестнадцатеричной системы счисления, а также знаки «+» и «*» (сложения и умножения). Определите максимальное количество символов в непрерывной последовательности, которая является корректным арифметическим выражением с целыми неотрицательными числами, записанными в семиричной системе счисления. В этом выражении никакие два знака арифметических операций не стоят рядом, в записи чисел отсутствуют незначащие (ведущие) нули и число 0 не имеет знака.

from re import *
s = open(’24_1.txt’).readline()
#задаём маску подходящего числа
#только цифры от 0 до 6 могут быть в записи семиричного числа
num = r’([123456][0123456]*|0)’
#задаём маску подходящей подстроки
reg = rf’{num}([+*]{num})+’
#вычисляем максимальную по длине подходящую по маске подстроку
m = max([x.group() for x in finditer(reg,s)],key = len)
#выводим ответ
print(len(m))

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