Ziehen Sie ein Set von Zufallszahlen aus einem konfigurierbaren inklusiven Bereich, optional ohne Duplikate — ein universeller Zufallszahlen-Generator für Spiele, Verlosungen kleiner Preise und Statistik-Übungen.
Algorithmus
Gegeben from, to und numberToExtract:
- Prüfen, dass beide Grenzen ganze Zahlen sind und
from ≤ to. - Wenn Duplikate nicht erlaubt sind, muss die Bereichsbreite (
to − from + 1) mindestens so groß sein wie die gewünschte Anzahl. - Wiederholt eine gleichverteilte Zufallsganzzahl in
[from, to]ziehen, bis die gewünschte Anzahl erreicht ist; bei deaktivierten Duplikaten bereits enthaltene Treffer verwerfen.
Ergebnisse werden aufsteigend sortiert, damit sie leichter lesbar sind.
Wann Sie es nutzen
Zufällige Gewinner für eine kleine Verlosung auswählen, Übungsdatensätze für den Statistikunterricht erzeugen, würfelartige Züge für einen Spieleabend simulieren oder Wahrscheinlichkeitskonzepte mit reproduzierbaren Ziehungen vermitteln (über Seed-Optionen der programmatischen API in der Entwicklung).
Einschränkungen
Die Zufälligkeit stammt vom Pseudozufallsgenerator der Umgebung — geeignet für Spiele und Demos, nicht für kryptografische oder hochregulierte Zertifizierung. Sehr große Bereiche mit vielen Extraktionen ohne Duplikate können durch wiederholtes Rejection Sampling an Leistungsgrenzen stoßen.
Beispiel
Mit from = 1, to = 90 und numberToExtract = 6 ohne Duplikate erhalten Sie sechs aufsteigend sortierte Zahlen, zum Beispiel 4 17 29 41 63 88.