Die Erzeugung gleichmäßig verteilter Zufallszahlen innerhalb eines bestimmten Bereichs ist eine grundlegende Aufgabe in vielen Programmieranwendungen. Obwohl es scheinbar trivial ist, kann das Erreichen optimaler Geschwindigkeits-, Gleichmäßigkeits-, Flexibilitäts- und Seeding-Anforderungen eine Herausforderung sein.
Um diese Bedenken auszuräumen, wurde mit dem C 2011-Standard eine robuste Zufallszahlenbibliothek eingeführt. Der folgende Codeausschnitt nutzt die Fähigkeiten dieser Bibliothek, um gleichmäßig verteilte Zufallszahlen effizient zu generieren:
#include <random> std::random_device rd; // Only used once to initialise (seed) engine std::mt19937 rng(rd()); // Random-number engine used (Mersenne-Twister in this case) std::uniform_int_distribution<int> uni(min,max); // Guaranteed unbiased auto random_integer = uni(rng);
Dieser Ansatz bietet mehrere Vorteile:
Durch die Verwendung dieses standardisierten Ansatzes können Programmierer effizient arbeiten Generieren Sie gleichmäßig verteilte Zufallszahlen, ohne dass komplexe Formeln oder benutzerdefinierte Implementierungen erforderlich sind.
Das obige ist der detaillierte Inhalt vonWie kann C effizient gleichmäßig verteilte zufällige ganze Zahlen generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!