Пожалуйста...Может немного не то, но в нужном направлении...
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
n, k : word;
S, S1, S2 : string;
i, j : word;
begin
n := StrToInt(Edit1.Text);//Количество
S := '';//Массив начальных индексов
S1 := '';//Массив индексов
for i := 0 to n-1 do//Заполяем строку
S := S+IntToStr(i+1);//Получаем 12345
for i := 1 to n do
begin
//Выводим массив индексов
S1 := S;
Insert (S1[i], S1, 1);
Delete (S1, i+1, 1);
Memo1.Lines.Add(S1);
//Вводим индексы в строку
S2 := ' B_['+S1[1]+'] ';
k := 0;
for j := 1 to n-1 do
begin
S2 := S2 + ' (A_['+S1[j+1]+'] + B_['+S1[j+1]+']) ';
end;
Memo2.Lines.Add(S2);
end;
end;
Весь мозг себе вынес пока решил...но задача интересная)))
PS Кинуть на форму 2 мемо, едит и кнопку...