Heim >Backend-Entwicklung >C++ >Wie kann ich eindeutige Zufallszahlen ohne Duplikate generieren?
Vermeiden Sie doppelte Zufallszahlengeneratoren
Bei der Generierung von Zufallszahlen für Lottoscheine oder andere Szenarien ist es wichtig sicherzustellen, dass die Zahlen in derselben Zeile eindeutig sind. Der ursprünglich bereitgestellte Code behebt dieses Problem nicht und hat möglicherweise zu Duplikaten geführt.
Doppelte Probleme lösen
Um dieses Problem zu lösen, müssen die generierten Zahlen in einer Sammlung gespeichert werden. Überprüfen Sie jedes Mal, wenn eine neue Nummer ausgewählt wird, ob diese bereits im Satz vorhanden ist. Falls vorhanden, generieren Sie eine neue Nummer, bis eine eindeutige Nummer gefunden wird.
Verwenden Sie verschiedene Methoden
Alternativ besteht ein effizienterer Ansatz darin, eine Folge von Zahlen zwischen 1 und 49 zu generieren, diese zufällig zu mischen und dann die ersten sechs Zahlen aus der gemischten Folge auszuwählen. Dadurch wird die Eindeutigkeit gewährleistet, ohne dass eine ständige Überprüfung erforderlich ist.
Hier ist der verbesserte Code, der diese Methode verwendet:
<code>var rnd = new Random(); var randomNumbers = Enumerable.Range(1, 49).OrderBy(x => rnd.Next()).Take(6).ToList();</code>
Dieser Code generiert eine Zufallsfolge, mischt sie dann und wählt die ersten sechs Zahlen aus, die garantiert keine Duplikate enthalten.
Das obige ist der detaillierte Inhalt vonWie kann ich eindeutige Zufallszahlen ohne Duplikate generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!