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

Wie kann ich eindeutige Zufallszahlen ohne Duplikate generieren?

Barbara Streisand
Barbara StreisandOriginal
2025-01-12 13:47:43703Durchsuche

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>

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!

Stellungnahme:
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