Einzelnen Beitrag anzeigen

BoolString

Registriert seit: 2. Feb 2009
Ort: Varel
70 Beiträge
 
RAD-Studio 2009 Pro
 
#22

AW: Lotto Systemspiele berechnen

  Alt 23. Sep 2011, 00:02
Hab den Thread nur kurz überflogen. Meinst du so etwas:

Delphi-Quellcode:
Procedure TForm1.CalcCombinatoricGenes (CombinatoricResult, Rest : String; CalcDepth : Integer);
Var Runner : Longint;
    Counter : Int64;
Begin
// If (Rest='') Or (CalcDepth=0) THen
// Begin
// If CheckRules (CombinatoricResult)THen
// Begin
// ListBox1.Items.Add(CombinatoricResult);
// end;

    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;
Komlett rekursiv.

- CombinatoricResult enthält die Ergebnisse
- Rest enthält die noch nicht entnommenen Elemente; bei erstem Aufruf die übergebene Liste der zur Verfügung stehenden Elemente
- Depth sagt, wie viele Elemente aus der Ursprungsmenge von Rest entnommen werden sollen

Für deine Anwendung müsstest du dir überlegen, wie du deine Zahlen/Elemente 'tokenisen' kannst. Z.B. in Chars umwandeln. Bin mir aber gerade nicht sicher, ob das komplett Unicode konform ist...

Falls das komplett am Ziel vorbei schießt, schmeist meinen Beitrag einfach aus dem Thread...

Jan
  Mit Zitat antworten Zitat