Заведём ещё один массив и будем в него записывать, правда ли, что в массиве есть элементы, равные данному, и текущий элемент - первый из них. Затем выведем все элементы, для которых это оказалось правдой.
Pascal
var
i, j, n: integer;
flag: boolean;
a: array[1..10000] of integer;
b: array[1..10000] of boolean;
begin
read(n);
for i := 1 to n do
begin
read(a[i]);
b[i] := true;
end;
b[n] := false;
for i := 1 to n - 1 do
if b[i] then
begin
flag := true;
for j := i + 1 to n do
if a[i] = a[j] then
begin
flag := false;
b[j] := false;
end;
if flag then
b[i] := false;
end;
for i := 1 to n do
if b[i] then
write(a[i], ' ');
end.
Слева от троеточия - последовательность (не помню какая)
Справа от троеточия - формулы вычисления этой последовательности, следовательно тебе надо разобрать только формулу.
Я попробую тебе объяснить, а ты уже попробуй сделать схему (не помню, как схема строится):
m - постоянно увеличивается на +1, так и получается последовательность (например, m=2 -> x^3/3 и т.д.).
Можно воспользоваться циклом, а в цикле прописать то, что m увеличивается на +1 -> m=m+1, и прописать формулу (x^2*m-1)/(2*m-1)
Вот, в принципе, и всё. Надеюсь разберёшься дальше
Begin
var s:=readlnstring;
var gl:='АЕИОУЫЯЁЮЭ';
var m:=s.ToWords;
var k:=m.Length;
var b:=new integer[k];
for var i:=0 to k-1 do
b[i]:=m[i].Where(c->c.ToUpper in gl).Count;
Writeln(m[b.IndexMax])
end.