Задания
Версия для печати и копирования в MS Word
Тип 24 № 70551
i

Тек­сто­вый файл со­сто­ит из цифр 0, 6, 7, 8, 9 и зна­ков ариф­ме­ти­че­ских опе­ра­ций «−» и «*» (вы­чи­та­ние и умно­же­ние). Опре­де­ли­те мак­си­маль­ное ко­ли­че­ство сим­во­лов в не­пре­рыв­ной по­сле­до­ва­тель­но­сти, ко­то­рая яв­ля­ет­ся кор­рект­ным ариф­ме­ти­че­ским вы­ра­же­ни­ем с це­лы­ми не­от­ри­ца­тель­ны­ми чис­ла­ми. В этом вы­ра­же­нии ни­ка­кие два знака ариф­ме­ти­че­ских опе­ра­ций не стоят рядом, в за­пи­си чисел от­сут­ству­ют не­зна­ча­щие (ве­ду­щие) нули и число 0 не имеет знака.

В от­ве­те ука­жи­те ко­ли­че­ство сим­во­лов.

За­да­ние 24

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние на языке Python.

s = open('demo_2025_24.txt').read()

s = s.strip().replace('-', '*').split('*')

posledov = ''

maxi = 0

for i in range(len(s)):

if (s[i]!='') and ((s[i][0]!='0') or (s[i]=='0')):

if posledov != '':

posledov = posledov + '*' + s[i]

else:

posledov = posledov + s[i]

if posledov.find('*') != -1:

maxi = max(maxi, len(posledov))

else:

if s[i] != '' and s[i][0] == '0':

if s[i].count('0') != len(s[i]):

s[i] = s[i].lstrip('0')

else:

s[i] = '0'

posledov = s[i]

else:

posledov = ''

print(maxi)

 

Ответ: 154.

 

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

t = open('demo_2025_24.txt').read()

t = t.replace('-', '*')

t = t.replace('*0*', '*5*')

while '**' in t:

t = t.replace('**', '*x*')

t = t.replace('*0', 'x')

while 'x0' in t:

t = t.replace('x0', 'x')

a = t.split('x')

ml = 0

for i in a:

if len(i) > 1:

if i[0] == '*':

i = i[1:]

if i[-1] == '*':

i = i[:-1]

ml = max(ml,len(i))

print(ml)

 

При­ведём ре­ше­ние Ан­дрея Трух­ния на языке Python.

t = open('demo_2025_24.txt').read()

t = t.replace('-', '*')

t = t.replace('*0*', '*5*')

t = t.replace('**', 'x')

t = t.replace('*0', 'x')

while 'x0' in t:

t = t.replace('x0', 'x')

t = t.replace('x*', 'x')

t = t.replace('*x', 'x')

a = t.split('x')

k=0

for i in a:

if len(i)>3:

k = max(k,len(i))

print(k)

 

 

При­ведём ре­ше­ние Ди­ляве­ра Усе­и­но­ви­ча Из­ма­и­ло­ва на языке Python.

from re import *

text = open('demo_2025_24.txt').readline()

nat = r'(([6789][06789]*)|0)'

reg = rf'(?=({nat}([-*]{nat})+))'

print(len(max([x.group(1) for x in finditer(reg, text)], key=len)))

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ−2025 по ин­фор­ма­ти­ке