Nur mal als Einwurf von der Seite:
Delphi-Quellcode:
Procedure TForm1.CalcCombinatoricGenes (CombinatoricResult, Rest : String; CalcDepth : Integer);
Var Runner : Longint;
Counter : Int64;
Begin
If (Rest='') Or (CalcDepth=0) THen
Begin
ListBox1.Items.Add (CombinatoricResult);
end
Else
Begin
For Runner := 1 to Length (Rest) do
Begin
CalcCombinatoricGenes (CombinatoricResult + Rest [Runner],
Copy (Rest, 1, Runner-1) + Copy (Rest, Runner+1, Length (Rest)-1),
CalcDepth-1);
end;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
CalcCombinatoricGenes ( '', '123456789', 5);
end;
Der Source (ungetestet und aus einem alten Projekt rauskopiert) liefert alle Kombinationen aus den Chars '1'..'9' der Länge 5.
Liebe Grüße aus ><)))°> Town
Jan