Einzelnen Beitrag anzeigen

Wosi

Registriert seit: 29. Aug 2007
59 Beiträge
 
#16

AW: Nur random Zahlen ausgeben die durch 4 teilbar sind

  Alt 9. Okt 2017, 11:51
Das mit dem Terminieren ist richtig, aber erstens war es nur ein Vorschlag, zweitens sollte man einen Basis-Generator, der keine durch 4 teilbaren Zahlen liefert, in die Tonne treten, drittens funktioniert mein Vorschalg in der Praxis, während Deiner total daneben sein kann. Beispiel: Für Range=22 wird bei Dir nie der Wert 20 geliefert.
Danke für den Hinweis, klassischer Off-By-One-Fehler. Richtig ist natürlich:

Delphi-Quellcode:
function MyRand(LimitPlusOne : Integer): Integer;
var
  DividedRange: Integer;
begin
  DividedRange := ((LimitPlusOne - 1) div 4) + 1;
  Result := Random(DividedRange) * 4;
end;
  Mit Zitat antworten Zitat