Задание 24. Программирование. Обработка строк. ЕГЭ 2026 по информатике
Средний процент выполнения: 7%
Ответом к заданию 24 по информатике может быть развернутый ответ (полная запись решения с обоснованием выполненных действий).
Алгоритм решения задания 24:
- Внимательно прочитай условие и определи, какие данные являются входными (строка, символы, длина).
- Выясни, что требуется получить на выходе (подсчёт, замена, поиск, формирование новой строки).
- Выбери способ перебора строки (по индексам или по символам).
- Определи переменные для хранения строки, счётчиков и результата.
- Составь цикл обработки символов строки.
- Внутри цикла реализуй проверку условий и нужные действия с символами.
- После завершения цикла выведи результат.
- Проверь программу на простых тестовых строках.
- Запиши окончательный вариант программы в требуемом формате.
Подпишись на суперполезные материалы
Задачи для практики
Задача 1
Необходимо предоставить решение и ответ
Текстовый файл состоит из символов, обозначающих знаки +, -, * и / и цифры 1, 2, 3, 4, 5, 6, 7, 8, 9. Определите в файле максимальное количество идущих подряд символов, которые образуют корректную математическую последовательность по следующим правилам: последовательность может содержать только знаки +, -, * и / и натуральные числа без ведущих нулей, последовательность не должна начинаться с оператора, два оператора подряд не допускаются, последовательность может быть любой длины, но должна быть корректной с точки зрения простого синтаксиса (цифра → оператор → цифра → …). В ответе запишите одно число — длину найденной максимальной последовательности.
Решение
import re
# Читаем файл
f = open('24.txt').read().strip()
# Регулярное выражение для корректной последовательности
s = r'[1-9]+(?:[+\-*/][1-9]+)*'
# Ищем все совпадения
m = re.findall(s, f)
# Находим максимальную длину
max_len = max(len(i) for i in m)
print(max_len)
Ответ: 155
Задача 2
ЕГКР 2025
Текстовый файл состоит из десятичных цифр и заглавных букв латинского алфавита. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых буква F встречается ровно 76 раз, чётная цифра встречается ровно один раз, искомая последовательность начинается с этой единственной чётной цифры. В ответе запишите число - количество символов в найденной последовательности. Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
with open('24 егкр.txt') as f:
s = f.read().strip()
even_digits = set('02468')
n = len(s)
max_len = 0
for i in range(n):
# последовательность должна начинаться с чётной цифры
if s[i] not in even_digits:
continue
count_F = 0
count_even = 1 # первая чётная цифра уже есть
for j in range(i + 1, n):
if s[j] in even_digits:
count_even += 1
if s[j] == 'F':
count_F += 1
# нарушили условия — дальше смысла нет
if count_even > 1 or count_F > 76:
break
# ровно 76 букв F
if count_F == 76:
max_len = max(max_len, j - i + 1)
print(max_len)
Ответ: 163
Задача 3
В ЕГЭ ЗАДАНИЕ №17
В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от 1 до 100000 включительно.
Требуется:
- Определить количество пар последовательности, в которых сумма элементов больше 1000.
- В ответе записать количество найденных пар, затем максимальную из сумм элементов таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
В ответе числа указывать без разделителей
Решение
Напишем код на Python исходя из условия задачи
f = open("17.txt").readlines()
c = 0
m = 0
for i in range(len(f)-1):
a = int(f[i])
b = int(f[i+1])
if a + b > 1000:
c += 1
if a + b > m:
m = a + b
print(c, m)
f.close()
Ответ: 196819184
Задача 4
Текстовый файл состоит из десятеричных цифр и заглавных букв латинского алфавита. Определите в прилагаемом файле последовательность из максимального количества идущих подряд символов, среди которых ровно 42 букв A, начинающуюся нечётной цифрой, не содержащую других нечётных цифр, кроме первой. В ответе запишите одно число — количество символов в найденной последовательности. Для выполнения этого задания следует написать программу.
Решение
f = open('24.txt').read()
for i in '13579':
f = f.replace(i, '1')
maxi = 1
for st in range(len(f)):
for en in range(st + maxi, len(f)+1):
s = f[st:en]
if s.count("A") > 42 or \
s[0] != '1' or s.count('1') > 1:
break
if s.count("A") == 42 and \
s[0] == '1' and s.count('1') == 1:
maxi = max(len(s), maxi)
print(maxi)
Ответ 197
Задача 5
В ЕГЭ ЗАДАНИЕ №17
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:
1) Количество пар элементов последовательности, в которых произведение чисел оканчивается на 12
2)Максимальную сумму двух элементов в паре среди всех таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
В качестве ответа запишите сначала количество, а потом максимальное число без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а максимум -1234, то ответ 991234.
Решение
f = open("fileotr10.txt")
kol = 0
Max = -20000
pred = -10001
for x in f:
x = int(x)
if pred != -10001:
if abs(x * pred) % 100 == 12:
kol += 1
if x+pred> Max:
Max = x+pred
pred = x
print(kol, Max)
Количество: 83, сумма: 18553.
Ответ: 8318553
Задача 6
С наступающим Новым годом! 🎅
Текстовый файл содержит зашифрованное письмо дедушке Морозу🎅, состоящее только из символов T, U, V, W, X, Y и Z, с просьбой о подарке. Какой подарок хочет ребенок зависит от максимального количества идущих подряд символов письма, в котором символ T встречается ровно 100 раз. Текст письма находится в прилагаемом файле. Помогите дедушке расшифровать послание, определите данное максимальное значение. Для выполнения этого задания следует написать программу.
Решение
Напишем программу на Python
f = open('24_Новый год.txt').readline()
maxi = 0
for st in range(len(f)):
for r in range(st + maxi, len(f)+1):
s = f[st:r]
t = s.count('T')
if t > 100:
break
if t == 100:
maxi = max(len(s), maxi)
print(maxi)
Получим ответ: 133
Задача 7
Текстовый файл состоит из символов A, B, C и D. Определите максимальное количество идущих подряд символов, среди которых нет трех символов A, стоящих рядом.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open('abcd.txt')
s = f.readline()
max_len = 0
length = 2
for i in range(2, len(s)):
if s[i - 2] + s[i - 1] + s[i] == 'AAA':
max_len = max(length, max_len)
length = 2
else:
length += 1
print(max_len)
Ответ: 805
Задача 8
Текстовый файл состоит из десятичных цифр и заглавных букв латинского алфавита. Определите в этом файле последовательность идущих подряд символов, представляющих собой запись максимального чётного 14-ричного числа. В ответе запишите количество символов (значащих цифр в записи числа) в этой последовательности. Примечание. Латинские буквы A, B, C и D означают цифры из алфавита 14-ричной системы счисления.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
import re
with open('24 ов.txt') as f:
s = f.read().strip()
pattern = r'[1-9ABCD][0-9ABCD]+[02468AC]'
matches = re.findall(pattern, s)
print(max(len(m) for m in matches))
Ответ: 2598
Задача 9
Текстовый файл состоит из символов, обозначающих прописные буквы латинского алфавита.
Определите максимальное количество идущих подряд символов, среди которых никакие две буквы из набора букв E, F, G и H (с учетом повторений) не записаны подряд.
Для выполнения этого задания следует написать программу.
Решение
f = open('1_24.txt', 'r')
s = f.readline().strip()
for x in 'EFGH':
s = s.replace(x, '1')
while '11' in s:
s = s.replace('11', '1 1')
lines = s.split()
print(len(max(lines, key=len)))
Задача 10
Текстовый файл состоит из символов, обозначающих прописные буквы латинского алфавита.
Определите максимальное количество идущих подряд символов, среди которых никакие две буквы из набора букв M, I, S, H, и A (с учетом повторений) не записаны подряд.
Для выполнения этого задания следует написать программу.
Решение
f = open('new_24.txt', 'r')
s = f.readline().strip()
for x in 'MISHA':
s = s.replace(x, '1')
while '11' in s:
s = s.replace('11', '1 1')
lines = s.split()
print(len(max(lines, key=len)))
Задача 11
Текстовый файл состоит из символов A, B, C и D.
Определите максимальное количество идущих подряд символов таких, что среди них встречаются BD или BA и ровно 5 символов C.
Искомая подпоследовательность должна состоять только из пар BA, или только из пар BD, или только из пар BD и BA и ровно 5 символов С в произвольном порядке следования этих символов.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open('24_ABCD.txt', 'r')
s = f.readline().strip()
max_len = 0
new_s = ''
i = 0
while i < len(s) - 1:
if s[i] == 'C':
new_s += 'C'
i += 1
elif s[i] + s[i + 1] == 'BA':
new_s += 'BA'
i += 2
elif s[i] + s[i + 1] == 'BD':
new_s += 'BD'
i += 2
elif s[i] in 'ABD':
new_s = ''
i += 1
if new_s.count('C') == 5:
max_len = max(max_len, len(new_s))
elif new_s.count('C') > 5:
new_s = new_s[new_s.index('C') + 1:]
print(max_len)
Ответ: 17
Задача 12
РЕШЕНИЕ БЕЗ ОТВЕТА НЕ ПРИНИМАЕТСЯ, В ПРОТИВНОМ СЛУЧАЕ РАБОТА БУДЕТ АННУЛИРОВАНА
Текстовый файл состоит из символов A, B и D.
Определите максимальное количество идущих подряд троек символов BDA или BAD в прилагаемом файле.
Искомая подпоследовательность должна состоять только из троек BDA, или только из троек BAD, или только из троек BDA и BAD в произвольном порядке следования этих троек.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open('24_ABD.txt', 'r')
s = f.readline().strip()
s = s.replace('BAD', '1')
s = s.replace('BDA', '2')
s = s.replace('A', ' ')
s = s.replace('B', ' ')
s = s.replace('D', ' ')
x = s.split()
print(len(max(x, key=len)))
Другой способ решения:
f = open('24_ABD.txt', 'r')
s = f.readline().strip()
max_s = 0
i = 0
k = 0
while i < len(s) - 2:
s1 = s[i]
s2 = s[i + 1]
s3 = s[i + 2]
if s1 + s2 + s3 == 'BDA' or s1 + s2 + s3 == 'BAD':
k += 1
i += 3
max_s = max(max_s, k)
else:
i += 1
k = 0
print(max_s)
Ответ: 5
Задача 13
Текстовый файл состоит из символов A, B и D.
Определите каких пар символов BD или BA больше в прилагаемом файле.
В ответе укажите количество таких пар и саму пару, без пробелов. Например: 143BD
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open('24_4.txt', 'r')
s = f.readline().strip()
bd = s.count('BD')
ba = s.count('BA')
if bd > ba:
print(f'{bd}BD')
else:
print(f'{ba}BA')
Ответ: 1025593BD
Задача 14
Текстовый файл состоит из символов A, B и D.
Определите самую длинную последовательность символов в которой нет символа D. В ответе запишите количество символов в такой последовательности.
Искомая подпоследовательность должна состоять только из символов А или B.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open('24_ABD.txt', 'r')
s = f.readline().strip()
max_s = 0
k = 0
for i in range(len(s)):
if s[i] != 'D':
k += 1
max_s = max(k, max_s)
else:
k = 0
print(max_s)
Другой способ решения:
f = open('24_ABD.txt', 'r')
s = f.readline().strip()
s = s.replace('D', ' ')
x = s.split()
print(len(max(x, key=len)))
Ответ: 42
Задача 15
Текстовый файл состоит из символов A, B и D.
Определите максимальное количество идущих подряд пар символов BD или BA в прилагаемом файле.
Искомая подпоследовательность должна состоять только из пар BA, или только из пар BD, или только из пар BD и BA в произвольном порядке следования этих пар.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open('24.txt', 'r')
s = f.readline().strip()
s = s.replace('BD', '1')
s = s.replace('BA', '2')
s = s.replace('A', ' ')
s = s.replace('B', ' ')
s = s.replace('D', ' ')
x = s.split()
print(len(max(x, key=len)))
Ответ: 64
Задача 16
Текстовый файл состоит из символов A, B и D.
Определите максимальное количество символов последовательности в прилагаемом файле, среди которых нет пар символов BD или среди которых нет пар BA. только один вид из этих пар может присутствовать в подпоследовательности.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open('24_ABD.txt', 'r')
s = f.readline().strip()
s1 = s.replace('BD', 'B D')
s2 = s.replace('BA', 'B A')
x = s1.split()
y = s1.split()
max_not_bd = len(max(x, key=len))
max_not_ba = len(max(y, key=len))
print(max(max_not_ba, max_not_bd))
Другой способ решения
f = open('24_ABD.txt', 'r')
s = f.readline().strip()
max_len = 0
cur_len_notBA = 1
cur_len_notBD = 1
for i in range(len(s) - 1):
if s[i] == 'B' and s[i + 1] == 'A':
cur_len_notBA = 1
cur_len_notBD += 1
elif s[i] == 'B' and s[i + 1] == 'D':
cur_len_notBA += 1
cur_len_notBD = 1
else:
cur_len_notBA += 1
cur_len_notBD += 1
max_len = max(max_len, cur_len_notBA, cur_len_notBD)
print(max_len)
Ответ: 96
Задача 17
Текстовый файл состоит из символов A, B и D.
Определите самую длинную последовательность символов в которой нет символа B. В ответе запишите количество символов в такой последовательности.
Искомая подпоследовательность должна состоять только из символов А или D.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open('24_ABD.txt', 'r')
s = f.readline().strip()
max_s = 0
k = 0
for i in range(len(s)):
if s[i] != 'B':
k += 1
max_s = max(k, max_s)
else:
k = 0
print(max_s)
Другой способ решения:
f = open('24_ABD.txt', 'r')
s = f.readline().strip()
s = s.replace('B', ' ')
x = s.split()
print(len(max(x, key=len)))
Ответ: 12
Задача 18
ДЛЯ 2022
Текстовый файл состоит из символов A, B и D.
Определите максимальное количество идущих подряд пар символов BD или BA в прилагаемом файле.
Искомая подпоследовательность должна состоять только из пар BA, или только из пар BD, или только из пар BD и BA в произвольном порядке следования этих пар.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open('24.txt', 'r')
s = f.readline().strip()
s = s.replace('BD', '1')
s = s.replace('BA', '2')
s = s.replace('A', ' ')
s = s.replace('B', ' ')
s = s.replace('D', ' ')
x = s.split()
print(len(max(x, key=len)))
ОТВЕТ: 64
Задача 19
Текстовый файл состоит из символов A, B и D.
Определите максимальное количество идущих подряд пар символов или BD или BA в прилагаемом файле.
Искомая подпоследовательность должна состоять только из пар BA, или только из пар BD.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open('24.txt', 'r')
s = f.readline().strip()
s = s.replace('BD', '1')
s = s.replace('BA', '2')
x1 = s.replace('A', '2')
x1 = x1.replace('B', '2')
x1 = x1.replace('D', '2')
x2 = s.replace('A', '1')
x2 = x2.replace('B', '1')
x2 = x2.replace('D', '1')
x = x1.split('2')
max_s = len(max(x, key=len))
x = x2.split('1')
max_s = max(max_s, len(max(x, key=len)))
print(max_s)
Ответ: 16
Задача 20
Текстовый файл состоит из символов A, B и D.
Определите максимальное количество символов последовательности, среди которых нет пар символов BD и BA в прилагаемом файле.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open('24.txt', 'r')
s = f.readline().strip()
s = s.replace('BD', 'B D')
s = s.replace('BA', 'B A')
x = s.split()
print(len(max(x, key=len)))
Другой способ решения
f = open('24_ABD.txt', 'r')
s = f.readline().strip()
max_len = 0
cur_len = 1
for i in range(len(s) - 1):
if s[i] == 'B' and (s[i + 1] == 'A' or s[i + 1] == 'D'):
cur_len = 1
else:
cur_len += 1
max_len = max(max_len, cur_len)
print(max_len)
Ответ: 37
Рекомендуемые курсы подготовки
- Узнаешь как кодируется изображение
- Поймешь как решать 7 номер ЕГЭ
- Разберешься с паролями
- Потренируешь 11 и 4 номер ЕГЭ
на бесплатном курсе Турбо ЕГЭ