Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите символ, который чаще всего встречается в файле после двух одинаковых символов.
Например, в тексте CCCBBABAABCC есть комбинации CCC, CCB, BBA и AAB. Чаще всего —
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Для решения этой задачи считаем строку из файла. Инициализируем строковую
Приведём решение данной задачи на языке Pascal.
var
len, max, count: longint;
s, s1: string;
maxC: char;
f: text;
begin
assign(f,'C:\Users\Александр\Desktop\РешуЕГЭ\24.txt');
reset(f);
readln(f, s);
len := length(s);
s1 := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
for i:integer := 1 to len-2 do begin
if (s[i] = s[i+1]) then
s1 := s1.Substring(0, s1.LastIndexOf(s[i+2])) + s[i+2] + s1.Substring(s1.LastIndexOf(s[i+2]));
end;
len := length(s1);
max := 1;
count := 0;
for i:integer := 1 to len-1 do begin
if (s1[i] = s1[i+1]) then count := count + 1
else count := 0;
if count > max then begin
max := count;
maxC := s1[i];
end;
end;
writeln(maxC);
end.
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — K.
Ответ: K.
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
Приведём другое решение на языке Python.
f = open("24.txt")
s = f.readline()
a = [0] * 26
maxi = 0
for i in range(len(s) - 1):
if s[i] == s[i + 1]:
a[ord(s[i + 2]) - 65] += 1
for i in range(26):
if a[i] > maxi:
maxi = a[i]
index = i
print(chr(index + 65))
Приведём другое решение на языке Python.
f = open('24.txt')
s = f.read()
mas = []
m = 0
k = 0
for i in range(len(s)-2):
if s[i] == s[i+1]:
mas.append(s[i+2])
alf = 'QWERTYUIOPASDFGHJKLZXCVBNM'
for n in alf:
if m < mas.count(n):
m = mas.count(n)
k = n
print(k)
Приведём решение Чернявского Степана на языке Python.
from collections import Counter
l = ''
f = open('24.txt').read()
for i in range(len(f)-2):
if f[i] == f[i+1]:
l += f[i+2]
print(Counter(l).most_common()[0][0])
Приведём решение Юрия Красильникова на языке Python.
s = open('24.txt').readline()
a = [s[i+1] for i in range(1,len(s)-1) if s[i-1]==s[i]]
m = max([a.count(c) for c in set(a)])
print(*[c for c in set(a) if a.count(c)==m])
Приведём решение Михаила Митрофанова (Владимир) на языке Python.
f = open('24.txt').readline()
alf = list('QWERTYUIOPASDFGHJKLZXCVBNM')
count = [0] * 26
for x in range(2,len(f)):
if f[x-2] == f[x-1]:
count[alf.index(f[x])] += 1
print(alf[count.index(max(count))])

