Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите количество групп из идущих подряд не менее
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Для решения задачи считаем строку из данного файла. С помощью метода string.ToWords разобьём строку с
Приведём решение данной задачи на языке PascalABC.NET.
var
groups, i: integer;
s: string;
arr: array of string;
f: text;
begin
assign(f,'C:\24.txt');
reset(f);
groups := 0;
read(f, s);
arr := s.ToWords('E');
for i := 1 to arr.Length - 2 do
if (arr[i].Length >= 10) and (not arr[i].Contains('F')) then groups := groups + 1;
writeln(groups);
end.
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 9655.
Ответ: 9655.
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
Приведём решение на языке Python.
with open('24.txt') as f:
s = f.readline()
s = s.split('E')
ans = list(filter(lambda x: (not 'F' in x) and len(x) >= 10, s[1:-1]))
print(len(ans))
Приведём решение Юрия Красильникова на языке Python.
f = open('24.txt').readline().split('E')
print(len([x for x in f[1:-1] if len(x)>=10 and not 'F' in x]))
Приведём решение Никиты Юрлова на языке Python.
f = open('24.txt').readline().split('E')
c = 0
for i in f:
if len(i) >= 10 and i.count('F') == 0:
c += 1
print(c)

