Frage

generasacodicetagpre.

Der obige Code sollte ein Array von Zufallszahlen von 1 bis 'Size' erstellen, die wiederholende Werte vermeiden.Ich habe versucht, das zu erreichen, indem Sie mit der Wiederholung der obersten Ebene 'für' Schleife noch einmal wiederholt, wenn der neu erzeugte Wert vor irgendwo in Array vorhanden war - indem er seinen Iterator verringert hat.Irgendwie funktioniert es nicht.Warum?

Modifizierender Iteratorwert aus der Innenseite der Schleife nicht möglich?

Beispiel Ausgang mit wiederholenden Werten in Array:

generasacodicetagpre.

Andere Tipps

Sie können ein Set anstelle eines Arrays verwenden, wie er vom Autor der Frage Random Nummern in Lua ohne Wiederholungen .Da eine der Antworten darauf hinweist, da Ihr Set in Ihrer Rande-Nummern näher in der Größe kommt (sagen Sie die Zufallszahlen von 1 bis 100 und Ihr Set ist Größe 50) Es ist immer schwieriger, eine Zahl zu findenwurde noch nicht ausgewählt.Sie können sehen, dass Sie für einen Satz von Größe 50 und ein Zufallsgründe von 1 bis 100 auswählen, dann, wenn Sie die Set-Hälfte voll haben, eine Chance von 25-50%, die Zufallsarten zu finden, die bereits in Ihrem Gerät verwendet wirdeinstellen.In diesem Fall ist das Mischen, wie er in einem der Antworten auf diesen Beitrag erläutert wird ( Randomisierte Zahlen in Lua ohne Wiederholungen ).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top