1. Есть специальная теория, по которой рассчитывается сложность алгоритма (О большое). Данный алгоритм имеет сложность n^2, т.е. квадрат кол-ва итераций.
2. Нет. Ничего специально делать не надо. Просто при выводе надо контролировать что данные для элемента не выводились. Т.е. перебор мы делаем полный, а вот вывод - нет.
Например, для вывода в консоль:
Код:
const
N = 100; // Длинна последовательности
var
F : Boolean;
I, J : Integer;
A, C : Array [1..N] Of Integer; // A - последовательность, C -счетчики
begin
For I := 1 To N Do
Begin
F := True;
For J := 1 To I-1 Do
Begin
If A[i] = A[J] Then F := False;
If Not F Then Break;
End;
If F Then WriteLn('Ai = ' + IntToStr(A[i]) + ' -> ' + IntToStr(C[i]) + ' вхождений');
End;
Где-то так. просто при выворде контролируем, что данный элемент (по значению) еще не встречался. И все.