Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 

Re: Zufall: Mit Wahrscheinlichkeit 1:x generieren

  Alt 30. Jun 2005, 06:25
Hast Recht - ich hatte bei Float bereits Frac() unterstellt und - na ja - so geht es dann besser:

Delphi-Quellcode:
function Odds(x: double): boolean;
begin
  Result := Random > (1 / x);
end;
marabu

Dritter Anlauf: Langsam werde ich munter. Deine Anforderung widerspricht sich irgendwie.

Zitat von yankee:
Jetzt will ich einen Boolean-Zufall generieren und zwar so, dass je höher meine Zahl ist, je höher ist die Wahrscheinlichkeit true raus zu bekommen.
Diese Anforderung erfüllt der obige Code.

Eine Wahrscheinlichkeit 1:x erhältst du aber so:

Delphi-Quellcode:
function Odds(x: double): boolean;
begin
  Result := (Random * (1 + x)) < 1;
end;
marabu
  Mit Zitat antworten Zitat