Type
V = array of integer;
var
i, n, ic, nc, kc, imax, nmax, kmax: integer;
a: V;
begin
write('Введите количество чисел N ');
readln(n);
SetLength(a, n + 1);
writeln('Вводите числа');
for i := 0 to n - 1 do read(a[i]);
writeln;
nmax := -32768;
kmax := 0;
imax := 0;
nc := a[0];
kc := 1;
ic := 1;
for i := 1 to n - 1 do
begin
if a[i] = nc then kc := kc + 1
else begin
if kc < 3 then begin
kc := 1;
nc := a[i];
ic := i
end
else
if kmax <= kc then begin
kmax := kc;
nmax := nc;
imax := ic;
kc:=1;
nc:=a[i];
ic:=i
end
else begin
kc := 1;
nc := a[i];
ic := i
end
end
end;
if kmax <= kc then begin
kmax := kc;
nmax := nc;
imax := ic
end;
writeln('Самая длинная серия содержит ', kmax, ' чисел ', nmax);
for i:=n downto imax+kmax+1 do a[i]:=a[i-1];
a[imax+kmax]:=nmax;
writeln('Модифицированная строка');
for i:=0 to n do write(a[i]:2)
end.
Тестовое решение
Введите количество чисел N 30
Вводите числа
1 2 2 3 4 4 4 5 5 5 6 8 6 6 6 4 8 8 8 8 8 8 3 3 3 3 1 2 3 3 3
Самая длинная серия содержит 6 чисел 8
Модифицированная строка
1 2 2 3 4 4 4 5 5 5 6 8 6 6 6 4 8 8 8 8 8 8 8 3 3 3 3 1 2 3 3
//Pascal ABC.NET v3.1 сборка 1172
Var
s:string;
i,k:integer;
begin
readln(s);
for i:=1 to length(s) do
if s[i]<>' ' then inc(k);
writeln(k);
end.
<span>Пример ввода:
</span><span>Очень много мячей
Пример вывода:
15
</span>
===== PascalABC.NET =====
begin
var (x, y, z) := ReadReal3('x, y, z =');
var e := (Cos(x) - Sin(y)) ** 3 / Sqrt(Tan(x)) + Sqr(Ln(x * y * z));
Println(e)
end.