Registriert seit: 29. Sep 2003
205 Beiträge
Delphi XE Enterprise
|
AW: Suche schnellen kombinatorischen Algorithmus
24. Feb 2011, 12:47
Also wenn ich das richtig verstehe suchst du die erste Kombination die dein Kriterium erfüllt.
Na dann versuch es mal hiermit:
Delphi-Quellcode:
procedure EineStelle(n, k, Stelle, MinWert: Byte; Kombination, Ergebnis, Kriterium : string; gefunden : boolean);
var
MaxWert, AktWert: Byte;
i : integer;
begin
for AktWert := MinWert to k - (n - Stelle) do
begin
if (Stelle < n) then
begin
EineStelle(n, k, Stelle+1, AktWert+1, Kombination + IntToStr(AktWert) + ' ', Ergebnis, Kriterium, gefunden);
if gefunden then
begin
Break;
end;
end
else
begin
if Kombination + IntToStr(AktWert) = Kriterium then
begin
Ergebnis := Kombination + IntToStr(AktWert);
Break; // bricht die for schleife ab
end;
end;
end;
end;
|
|
Zitat
|