La bibliothèque standard définit un ensemble de classes et d'adaptateurs de moteurs de nombres aléatoires qui utilisent différentes méthodes mathématiques pour générer des nombres pseudo-aléatoires. La bibliothèque standard définit également un ensemble de modèles de distribution pour générer des nombres aléatoires selon différentes probabilités. Les noms des moteurs et des types de distribution correspondent à leurs propriétés mathématiques.
Mais aujourd'hui, nous aborderons un peu les connaissances les plus élémentaires.
L'ordinateur n'a aucun moyen de générer de vrais nombres aléatoires. Il utilise une simulation d'algorithme, donc vous n'appelez que rand, et les choses qui sortent sont les mêmes à chaque fois. Après avoir défini une graine, différents nombres peuvent être générés en fonction de la graine. Et comment s'assurer que les graines sont différentes ? Le plus simple est bien sûr d’utiliser un temps qui avance toujours.
srand(time(0)) ;//先设置种子 rand();//然后产生随机数
Srand est le nombre de graines aléatoires plantées. Les graines que vous plantez sont différentes à chaque fois, et les nombres aléatoires obtenus en utilisant Rand sont différents. Afin de planter une graine différente à chaque fois, Time(0) est utilisé pour obtenir la valeur de l'heure actuelle (car l'heure est différente à chaque instant).
srand(time(0)) ;
Il s'agit de donner à cet algorithme une graine de démarrage, qui est le numéro de graine aléatoire de l'algorithme. Ce n'est qu'avec ce nombre que le nombre aléatoire peut être généré. Utilisez le nombre de secondes de 1970.1.1 à. le présent pour initialiser la graine de nombre aléatoire.
Cas de référence
#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()); }
Résultat de sortie :
22614 15772 30620 24913 7556 31659 27876 27229 25083 16564
Recommandations associées : "Tutoriel vidéo C"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!