Задача #4296
Работа со строками
Текстовый файл состоит из десятичных цифр, знаков "+" и "*" (сложения и умножения). Определите максимальное количество символов в непрерывной последовательности, являющейся корректным арифметическим выражением с целыми неотрицательными числами (без знака), значение которого равно нулю. В этом выражении никакие два знака арифметических операций не стоят рядом, порядок действий определяется по правилам математики. В записи чисел отсутствуют незначащие (ведущие) нули.
В ответе укажите количество символов.
Войдите, чтобы история ответов и статистика сохранялись.
Решение
Ответ
197
Видео по задаче
from re import *
s = open('24.txt').readline()
num = r'([1-9][0-9]*|0)'
pr0 = rf'(({num}\*)*0(\*{num})*)'
reg = rf'{pr0}(\+{pr0})*'
reg = rf'(?=({reg}))'
m = max([x.group(1) for x in finditer(reg,s)],key=len)
print(len(m), m)