Die Standardbibliothek definiert eine Reihe von Zufallszahlen-Engine-Klassen und -Adaptern, die unterschiedliche mathematische Methoden verwenden, um Pseudozufallszahlen zu generieren. Die Standardbibliothek definiert außerdem eine Reihe von Verteilungsvorlagen, um Zufallszahlen entsprechend unterschiedlicher Wahrscheinlichkeiten zu generieren. Die Namen der Engines und Verteilungstypen entsprechen ihren mathematischen Eigenschaften.
Aber heute werden wir ein wenig auf das grundlegendste Wissen eingehen.
Der Computer hat keine Möglichkeit, echte Zufallszahlen zu generieren. Er verwendet eine Algorithmussimulation, sodass Sie nur Rand aufrufen und jedes Mal das Gleiche herauskommt. Nach dem Setzen eines Seeds können je nach Seed unterschiedliche Zahlen generiert werden. Und wie stellt man sicher, dass die Samen unterschiedlich sind? Der einfachste Weg ist natürlich, die Zeit zu nutzen, die immer weiter voranschreitet.
srand(time(0)) ;//先设置种子 rand();//然后产生随机数
Srand ist die Anzahl der zufällig gepflanzten Samen. Die Samen, die Sie pflanzen, sind jedes Mal anders, und die durch die Verwendung von Rand erhaltenen Zufallszahlen sind unterschiedlich. Um jedes Mal einen anderen Samen zu pflanzen, wird Time(0) verwendet, um den aktuellen Zeitwert zu erhalten (da die Zeit jeden Moment anders ist).
srand(time(0)) ;
Diesem Algorithmus wird ein Startwert zugewiesen, bei dem es sich um die Zufallszahl des Algorithmus handelt. Nur mit dieser Zahl kann die Anzahl der Sekunden seit 1970.1.1 generiert werden Initialisieren Sie den Zufallszahlen-Seed.
Referenzfall
#include <stdlib.h> #include <stdio.h> #include <time.h> void main ( void ) { int i; srand(time(0)); /* 输出 10 个随机数. */ for (i = 0; i < 10; i++) printf( "%6d/n", rand()); }
Ausgabeergebnis:
22614 15772 30620 24913 7556 31659 27876 27229 25083 16564
Verwandte Empfehlungen: „C Video Tutorial“
Das obige ist der detaillierte Inhalt vonWas bedeutet die Funktion srand(time(0))?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!