Текстовый файл содержит только заглавные буквы латинского алфавита (ABC...Z). Определите максимальное количество идущих подряд символов, среди которых нет ни одной
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Для решения данной задачи будем посимвольно считывать текстовый файл. Объявим
Приведём решение данной задачи на языке Pascal.
var k, max, countE: integer;
c: char;
f: text;
begin
assign(f,'C:\24.txt');
reset(f);
k := 0;
max := 0;
countE := 0;
while not Eof(f) do begin
read(f, c);
if (c = 'A') then begin
if countE > 2 then begin
if k > max then max := k;
end;
k := 0;
countE := 0;
end
else begin
if c = 'E' then countE := countE + 1;
k := k + 1;
end;
end;
if k > max then
max := k;
writeln(max);
end.
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 282.
Ответ: 282.
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
Приведём решение Константина Дубова на языке Python.
with open('24.txt')as f:
l = f.readline()
count, mak = 0, 0
k = 0
for i in range(0, len(l)):
if l[i] != 'A':
count += 1
if l[i] == 'A':
if count >= 3:
t = l[i - count: i]
u = 0
while "E" in t:
u += 1
t = t.replace('E', 'K', 1)
if u >= 3:
mak = max(mak, count)
count = 0
print(mak)
Приведём решение Никиты Соколова на языке Python.
f = open('24.txt').readline()
s = f.split("A")
s = list(filter(lambda x: x.count('E') >= 3, s))
print(len(max(s, key=len)))
Приведём решение Николая Минина на языке Python.
f = open('24.txt').readline()
cfl = fl = maxs = 0
for i in range(0, len(f)):
if f[i] == "C":
cfl += 1
if (f[i] != "A") and (i != len(f)):
fl += 1
elif cfl >= 3:
maxs = max(fl, maxs)
fl = cfl = 0
else:
fl = cfl = 0
print(maxs)
Приведём решение Юрия Лысакова на языке Python.
s = open('242.txt').read()
maxi = 0
for i in range(0,len(s)-1):
for j in range(i+1,len(s)):
s1 = s[i:j+1]
if 'A' in s1: break
else:
if s1.count('E') > 2:
maxi = max(maxi,len(s1))
print(maxi)
Приведём решение Евгения Петченко на языке Python.
print(len(max([i for i in open("24.txt").readline().split("A") if i.count("E") >= 3], key=len)))
Приведём решение Дарии Дроздовой на языке Python.
f = open('24.txt').readline()
count=0
m = -1
count_e = 0
i=0
while i!=len(f):
if f[i] =='A':
if count_e>=3 and count>m:
m = count
count_e=0
count=0
elif f[i]=='E':
count_e += 1
count += 1
else:
count+=1
i+=1
print(m)

