Задания для подготовки
Пройти тестирование по этим заданиям
Вернуться к каталогу заданий
Версия для печати и копирования в MS Word


Текстовый файл состоит не более чем из
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Для решения данной задачи будем посимвольно считывать текстовый файл. Объявим переменные
Приведём решение данной задачи на языке Pascal.
var k, max: integer;
c1, c2: char;
f: text;
begin
assign(f,'C:\24.txt');
reset(f);
c1 := '0';
c2 := '0';
k := 1;
max := 0;
while not Eof(f) do begin
c2 := c1;
read(f, c1);
if (c1 <> c2) and (c2 <> '0') then begin
k := k + 1;
end
else begin
if k > max then
max := k;
k := 1;
end;
end;
if k > max then
max := k;
writeln(max);
end.
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 35.
Ответ: 35.
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
Приведём решение Николая Чуркина (Тимашевск) на языке Python.
f = open('24.txt').readline()
k = 1
m = 0
for i in range(1, len(f)):
if f[i] != f[i-1]:
k += 1
else:
m = max(m, k)
k = 1
m = max(m, k)
print(m)
Приведём решение Максима Григорьева на языке Python.
from itertools import permutations
with open('24_demo.txt') as f:
s = f.read()
pod = [''.join(x) for x in permutations('XYZ', 2)]
x, counter, c_max = 0, 0, 0
for i in range(len(s)):
if s[i + x:i + 2 + x] in pod:
counter += 1
x = 2
else:
c_max = max(c_max, counter)
counter, x = 0, 0
print(c_max)
Приведём решение Юрия Красильникова на языке Python.
s = open('24_demo.txt').readline()
a = ''.join(['*' if s[i]!=s[i-1] else ' ' for i in range(1,len(s))]).split()
print(max(len(x) for x in a)+1)
Приведём решение Тимофея Софронова на языке Python.
f=open('24_demo.txt').readline()
m = 0
for i in range(0,len(f)):
for j in range (i+m, len(f)):
c = f[i:j+1]
if all(not x in c for x in['XX','ZZ','YY']):
m = max(m,len(c))
else: break
print(m)
Приведём решение Михаила Глинский на языке Python.
s=open('24_demo.txt').readline()
s=s.replace('XX','X X').replace('YY','Y Y').replace('ZZ','Z Z')
s=s.replace('XX','X X').replace('YY','Y Y').replace('ZZ','Z Z')
m=[len(x) for x in s.split()]
print(max(m))
Приведём решение Сергея Донец на PascalABC.NET:
begin
var s := ReadAllText('24_27421.txt');
var curLen := 1;
var maxLen := 1;
for var i:=2 to s.Length do
if s[i-1]<>s[i] then
begin curLen += 1;
if curLen > maxLen then maxLen := curLen;
end else curLen := 1;
maxLen.Print;
end.
Приведём решение Екатерины Паркаевой на языке С.
#include int main() { FILE *f; int mk = 0, k = 0; char s = 'Q', p_s = 'Q'; if((f = fopen(«24_demo.txt", "r")) == NULL) { printf("file not open"); return 1; } while(!feof(f)) { if(p_s != s) k++; else { if(mk < k) mk = k; k = 1; } p_s = s; fscanf(f, "%c", &s); } fclose(f); printf("%d", mk); return 0; }
Приведём решение Севы Тимофеева на языке С++.
#include #include using namespace std; int main () { ifstream fin("24_demo.txt"); char a,b; int s=0; int f=0; fin >> a; while(fin >> a){ if(a != b)f++; if(f>s)s=f; if(a == b)f=1 ; b=a; } cout << s << endl; } }


Текстовый файл состоит не более чем из
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Для решения данной задачи будем посимвольно считывать текстовый файл. Объявим переменные: maxLen — максимальная длина последовательности, curLen — временное хранение длины последовательности, i — переменная для перебора всех символов, s — строка для работы с символами из файла. Алгоритм будет сравнивать значение текущего символа со значением предыдущего, и если символы не будут различаться и будут являться
Приведём решение данной задачи на языке Pascal.
var maxLen, curLen, i: integer;
s: string;
f: text;
begin
assign(f, '24.txt');
reset(f);
readln(f, s);
maxLen := 1;
curLen := 1;
for i:=2 to Length(s) do
if (s[i] = s[i-1]) and (s[i] = 'X') then begin
curLen := curLen + 1;
if curLen > maxLen then
maxLen := curLen;
end
else
curLen := 1;
writeln(maxLen);
end.
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 19.
Приведём решение Алексея Харитонова на языке Python.
f=open('24_demo.txt')
s=f.readline()
mx=1
cnt=1
for i in range(len(s)-1):
if s[i]=='X' and s[i+1]=='X':
cnt+=1
if cnt>mx:
mx=cnt
else:
cnt=1
mx = max(cnt, mx)
print(mx)
Приведём однострочное решение на языке Python.
print(max(map(len, open('24_demo.txt').readline().replace('Z', ' ').replace('Y', ' ').split())))
Приведём решение Юрия Лысакова на языке Python.
f = open('24_demo.txt')
s = f.read()
s1 = 'X'
while s1 in s:
s1 += 'X'
print(len(s1) - 1)
Приведём решение Максима Григорьева на языке Python.
f = open('24_demo.txt')
s = f.read()
for i in 'YZ':
s = s.replace(f'{i}', '*')
s = s.split('*')
print(len(max(s, key=len)))
Приведём решение Тимофея Софронова на языке Python.
from re import finditer
f = open('24_demo.txt').readline()
reg = 'X+'
print(max([len(x.group()) for x in finditer(reg,f)]))
Приведём решение Альберта К. на языке Python.
s = open('24_demo.txt').readline()
for i in range(len(s)):
if 'X' * i in s:
print(i)
else:
break
Приведём решение Сергея Донец на PascalABC.NET:
begin
ReadAllText('24.txt').Select(c->c ='X'?'1':'0')
.JoinToString.Split('0').Max(g -> g.Length).Print;
end.
Ответ: 19.


Текстовый файл состоит не более чем из
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Приведём решение Чуркина Николая (Тимашевск) на языке Python.
f = open('24.txt').readline()
k = m = 0
for i in range(len(f)):
if (f[i] == 'X' and k%3 == 0) or (f[i] == 'Y' and k%3 == 1) or (f[i] == 'Z' and k%3 == 2):
k += 1
m = max(m, k)
elif f[i] == 'X': k = 1
else: k = 0
print(m)
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 13.
Ответ: 13.
Приведём решение Новикова Андрея на языке Python.
import re
f = open('24_demo.txt').read()
r = re.findall(r'(?:XYZ)+(?:XY|X)?', f)
r = map(lambda x: len(x), r)
print(max(r))
Приведём решение Фефелова Сергея на языке Python.
f = open('24.txt').readline()
k = mx = 0
for i in range(len(f)):
if f[i-1:i+1] in 'XYZX' and k:
k += 1
elif f[i] == 'X':
k = 1
else:
k = 0
mx = max(mx, k)
print(mx)
Приведём решение Пученко Дениса на языке Python.
f=open('24.txt').readline()
k = 1
while ('XYZ' * k) in f:
k = k + 1
R = 'XYZ'*(k - 1)
if (R + 'X') in f:
if (R + 'XY') in f: print(len(R + 'XY'))
else: print(len(R + 'X'))
else: print(len(R))
Приведём решение Юрия Лысакова на языке Python.
f = open("24_demo.txt")
s = f.read()
s1 = 'XYZ'
a = s.split(s1)
while len(a) > 1:
s2 = s1
s1 += 'XYZ'
a = s.split(s1)
if s2 + 'X' in s:
s2 += 'X'
if s2 + 'Y' in s:
s2 += 'Y'
print(len(s2))
Приведём решение Дмитрия Бурнина на языке Python.
from re import *
s = open('24_demo.txt').readline()
reg = r'(?=((XYZ)+((XY)*|X*)*))'
print(max(([len(x.group(1)) for x in finditer(reg,s)])))
Приведём решение Романа Шатило на языке Python.
s = open('24_demo.txt').readline()
s = s.replace('XYZ','***')
s = s.replace('*X','*+').replace('+Y','*+')
s = s.replace('+','+ ')
s = s.replace('X',' ').replace('Y',' ').replace('Z',' ')
print(max(len(x) for x in s.split()))
Приведём другое решение данной задачи на языке Pascal.
Для решения данной задачи будем посимвольно считывать текстовый файл. Объявим переменные: s — строка для работы с символами из файла, maxCount — максимальная длина последовательности, count — временное хранение длины последовательности, i — переменная для перебора всех символов. Алгоритм будет сравнивать значения на трех позициях, если символы будут удовлетворять нужным условиям, то значение счетчика будет увеличиваться
Приведём решение данной задачи на языке Pascal.
begin
var s: string;
var i, count, maxCount: integer;
assign(input, '24.txt');
readln(s);
count:=0;
maxCount:=0;
for i:=1 to Length(s) do
if ((s[i]='X') and (count mod 3=0)) or
((s[i]='Y') and (count mod 3=1)) or
((s[i]='Z') and (count mod 3=2)) then begin
count := count+1;
if count > maxCount then
maxCount := count;
end
else if s[i]='X' then count:=1
else count := 0;
writeln(maxCount);
end.
Приведём решение Юрия Красильникова на языке Python.
s = open('24_demo.txt').readline()
m,t = 0,0
a = 'XYZ'
for c in s:
if c == a[t%3]:
t += 1
m = max(t,m)
elif c == 'X': t = 1
else: t = 0
print(m)


Текстовый файл состоит не более чем из
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Приведём решение Николая Чуркина (Тимашевск) на языке Python.
f = open('24.txt').readline()
k = 1
m = 0
for i in range(1, len(f)):
if f[i] != f[i-1]:
k += 1
else:
m = max(m, k)
k = 1
m = max(m, k)
print(m)
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 42.
Ответ: 42.
Приведём решение Максима Фатихова на языке Python.
f = open('24.txt').readline()
while 'AA' in f or 'BB' in f or 'CC' in f:
f = f.replace('AA','A A')
f = f.replace('BB','B B')
f = f.replace('CC','C C')
f = f.split()
print(max(len(x) for x in f))
Приведём другое решение данной задачи на языке Pascal.
Для решения данной задачи будем посимвольно считывать текстовый файл. Объявим переменные: maxLen — максимальная длина последовательности, curLen — временное хранение длины последовательности, i — переменная для перебора всех символов, s — строка для работы с символами из файла. Алгоритм будет сравнивать значение текущего символа со значением предыдущего, и если символы будут удовлетворять нужным условиям, то значение счетчика будет увеличиваться
Приведём решение данной задачи на языке Pascal.
var maxLen, curLen, i: integer;
s: string;
begin
assign(input, '24.txt');
readln(s);
maxLen := 1;
curLen := 1;
for i:=2 to Length(s) do
if s[i] <> s[i-1] then begin
curLen := curLen + 1;
if curLen > maxLen then
maxLen := curLen;
end
else
curLen := 1;
writeln(maxLen);
end.


Текстовый файл состоит не более чем из
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Приведём решение Николая Чуркина (Тимашевск) на языке Python.
f = open('24.txt').readline()
k = 1
m = 0
for i in range(len(f)-1):
if f[i] == 'A' and f[i+1] == 'A':
k += 1
m = max(m, k)
else: k = 1
print(m)
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 7.
Ответ: 7.
Приведём решение Тагира Шигербаева на языке Python.
f = open('24.txt').readline().replace('B','*').replace('C','*').split('*')
print(len(max(f, key= len)))
Приведём решение Михаила Глинского на языке Python.
f = open('zadanie24_1.txt').readline()
f = f.replace('B',' ')
f = f.replace('C',' ')
m = f.split()
dl = set(len(x) for x in m )
print(max(dl))
Приведём решение Артёма Позднякова на языке Python.
from re import *
s=open('zadanie24_1.txt').readline()
reg=r'A+'
print(max(len(x.group()) for x in finditer(reg,s)))
Приведём другое решение данной задачи на языке Pascal.
Для решения данной задачи будем посимвольно считывать текстовый файл. Объявим переменные: maxLen — максимальная длина последовательности, curLen — временное хранение длины последовательности, i — переменная для перебора всех символов, s — строка для работы с символами из файла. Алгоритм будет сравнивать значение текущего символа со значением предыдущего, и если символы будут удовлетворять нужным условиям, то значение счетчика будет увеличиваться
Приведём решение данной задачи на языке Pascal.
var maxLen, curLen, i: integer;
s: string;
begin
assign(input, '24.txt');
readln(s);
maxLen := 1;
curLen := 1;
for i:=2 to Length(s) do
if (s[i] = s[i-1]) and (s[i] = 'A') then begin
curLen := curLen + 1;
if curLen > maxLen then
maxLen := curLen;
end
else
curLen := 1;
writeln(maxLen);
end.
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
ReadAllText('24.txt') .MatchValues('A+')
.Select(w -> w.Length)
.DefaultIfEmpty(0) .Max .Print;
end.
Пройти тестирование по этим заданиям
Наверх