Heim > Backend-Entwicklung > C++ > Wie kann ich eindeutige Zufallszahlen ohne Duplikate generieren?

Wie kann ich eindeutige Zufallszahlen ohne Duplikate generieren?

Barbara Streisand
Freigeben: 2025-01-12 13:47:43
Original
784 Leute haben es durchsucht

How Can I Generate Unique Random Numbers Without Duplicates?

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>
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage