program PermutationRek(input,output) ;

procedure X(var A : string; B : string) ;
  {X ermittel Permutationen und gibt diese aus}
var J : word ; C, D : string ;
begin
  if B='' then
    Writeln(A)
  else
  for J := 1 to Length(B) do
  begin
    C := B ;
    D := A+C[J] ;
    Delete(C, J, 1) ;
    X(D, C)
  end
end ;


var
Q,n,n2 : string ;
nx, an : integer ;
begin
  writeln('Wieviel n? Permutationen sollen gebildet werden?') ;
  readln(an) ;
  for nx := 1 to an do
  begin
    str(nx,n2) ;
    n := n + n2
  end ;
  Q :='' ;
  X(Q,n) ;
  Readln
end.{PermutationRek}

Anfang   zurück