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

Тек­сто­вый файл со­сто­ит из цифр от 1 до 6, зна­ков опе­ра­ций «—» и «*» (вы­чи­та­ние и умно­же­ние) и за­глав­ных ла­тин­ских букв A, B, C, D.

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

За­да­ние 24

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

Ре­ше­ние.

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

s = open('24.txt').readline()

s= s.replace('2','1').replace('3','1').replace('4','1').replace('5','1').replace('6','1')

s = s.replace('*', '-').replace('A', ' ').replace('C', ' ').replace('D', ' ')

s = s.replace('1B', '1 B').replace('--', '- -').replace('BB', 'B B').replace('-B', '- B').replace('B-', 'B -')

s = sorted(s.split(), key = len, reverse = 1)

 

for i in s:

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

i = i[:-1]

if i[0] == 'B' and i.count('B') == 1:

print(i, len(i))

break

 

Ответ: 68.

 

При­ведём ре­ше­ние Бо­ри­са Са­ве­лье­ва на языке Python.

f=open('24.txt').readline()

f=f.replace('--',' ')

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

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

f=f.replace('**',' ')

f=f.replace('B-','B -')

f=f.replace('-B','- B')

f=f.replace('*B','* B')

f=f.replace('B*','B *')

f=f.replace('A',' ')

f=f.replace('C',' ')

f=f.replace('D',' ')

f=f.replace(' *',' ')

f=f.replace(' -',' ')

f=f.replace('- ',' ')

f=f.replace('* ',' ')

f=f.replace('1B','1 B')

f=f.replace('2B','2 B')

f=f.replace('3B','3 B')

f=f.replace('4B','4 B')

f=f.replace('5B','5 B')

f=f.replace('6B','6 B')

f=f.split(' ')

maxi=0

for i in range (0,len(f)):

s=f[i]

if len(s) >= 1 and s[0]=='B':

if maxi < len(s):

maxi=len(s)

print(maxi)

 

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

s = open('24.txt').readline()

m = ''

for i in range(len(s)):

if s[i] == 'B':

c = s[i]

for j in range(i + 1, len(s)):

if all(x not in c for x in ['B-', 'B*', 'A', 'C', 'D', '**', '--', '*-', '-*']) and s[j] != 'B':

c += s[j]

else:

m = max(m, c[:-1].strip('*').strip('-'), key=len)

break

print(len(m), m)


Аналоги к заданию № 72582: 72609 Все

Источник: Стат­Град: Тре­ни­ро­воч­ная ра­бо­та 24.10.2024 ИН2410102