Hi,
hatte ich gerade am Wickel. Schau auch noch mal hier ->
Variation
Und hier noch mal mein bescheidenes Formelwerk:
Delphi-Quellcode:
Function Fakultaet(Elemente : Integer) : Int64;
var Counter : Integer;
begin
Result := 1;
For counter := 1 to Elemente do
Result := Result * Counter;
end;
Function Variation(Elemente, Klasse : Integer; Wiederholung : Boolean) : Int64;
var Counter : Integer;
begin
Result := 1;
IF Wiederholung then begin
// mit Wiederholungen
end else begin
// ohne Wiederholungen
For Counter := Elemente downto Elemente - Klasse + 1 do
Result := Result * Counter;
end;
end;
Function Kombination(Elemente, Klasse : Integer; Wiederholung : Boolean) : Int64;
begin
IF Wiederholung then begin
// mit Wiederholungen
end else begin
// ohne Wiederholungen
Result := Trunc(Variation(Elemente, Klasse, False) / Fakultaet(Klasse));
end;
end;
Für den Part mit den Wiederholungen war ich dann zu faul, weil ich es nicht brauchte. Sorry
Gruß oki