

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых не более одной
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Будем посимвольно считывать файл. Каждую итерацию цикла while будем увеличивать
Если будет встречена
Приведём решение данной задачи на языке PascalABC.
var
i, count, maxlen, countA, k: integer;
c: char;
f: text;
begin
assign(f,'C:\24.txt');
reset(f);
maxlen := 0;
count := 0;
countA := 0;
k := 0;
while not eof(f) do begin
read(f, c);
k := k + 1;
if c <> 'A' then begin
count := count + 1;
if count > maxlen then maxlen := count;
end
else if countA = 0 then begin
countA := 1;
i := k;
count := count + 1;
if count > maxlen then maxlen := count;
end
else if countA = 1 then begin
count := k - i;
i := k;
if count > maxlen then maxlen := count;
end;
end;
writeln(maxlen);
end.
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 337.
Ответ: 337.
Приведём решение Виктора Кима на языке Python.
f = open("24.txt")
x = f.read()
count = count_old = m = 0
for i in x:
if i == "A":
m = max(m, count + count_old + 1)
count_old = count
count = 0
else:
count += 1
m = max(m, count + count_old + 1)
print(m)
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
Приведём решение Бориса Савельева на языке Python.
f = open('24.txt')
ans = 0
s = f.readline().split('A')
for i in range (len(s)-1):
ans = max(len(s[i])+len(s[i+1])+1,ans)
print(ans)


Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых не более одной
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Будем посимвольно считывать файл. Каждую итерацию
Если будет встречена
Приведём решение данной задачи на языке PascalABC.
var
i, count, maxlen, countD, k: integer;
c: char;
f: text;
begin
assign(f,'C:\24.txt');
reset(f);
maxlen := 0;
count := 0;
countD := 0;
k := 0;
while not eof(f) do begin
read(f, c);
k := k + 1;
if c <> 'D' then begin
count := count + 1;
if count > maxlen then maxlen := count;
end
else if countD = 0 then begin
countD := 1;
i := k;
count := count + 1;
if count > maxlen then maxlen := count;
end
else if countD = 1 then begin
count := k - i;
i := k;
if count > maxlen then maxlen := count;
end;
end;
writeln(maxlen);
end.
Приведём решение данной задачи на языке Python.
f = open('24.txt')
s = f.readline()
k = []
mx = 0
for i in range(len(s)):
if s[i] == 'D':
k.append(i)
for j in range(len(k) - 2):
c = k[j + 2] - k[j] - 1
mx = max(mx ,c)
print(mx)
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 354.
Ответ: 354.
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
Приведём другое решение Малова Никиты на языке Python.
f = open('24.txt')
a = f.readline().split('D')
m = 0
for i in range(len(a) - 1):
m = max(m,len(a[i])+len(a[i+1])+1)
print(m)
Наверх