Нужно решить следующую задачу:
Дано n различных натуральных чисел (n=5). Напечатать все перестановки. (рекурсия)
Вот. Обязательно с рекурсией. Подскажите хотя бы принцип, а то чего-то вообще не врубаюсь, с какого конца к ней подойти...
procedure Next(s: string);
var
i: word;
t: string;
b: boolean;
begin
b:=true;
for i:=1 to n do if not u[i] then begin
Str(a[i]:3,t);
u[i]:=true;
Next(s+t);
u[i]:=false;
b:=false
end;
if b then WriteLn(s)
end;
Автору темы остается ее вызвать, предварительно заполнив массивы..