je trouve une méthode de génération de nombres aléatoires uniformes dans la gamme (aa, bb) comme ci-dessous:nombres aléatoires uniformes sont les mêmes dans tous les essais
#include <random>
double randnum (double aa, double bb) //defining a function to create random numbers
{
static std::default_random_engine generator;
std::uniform_real_distribution<double> distribution (aa,bb);
return distribution(generator);
}
int main(){
for (i=1;i<50;i++){
cout<< randnum(0,1);
}
}
Par exemple, RandNum (0,1); crée un nombre aléatoire entre 0 et 1. Le problème est que, pendant les différentes courses, la séquence aléatoire que je crée dans la boucle for est exactement la même. Comment puis-je créer différents nombres aléatoires au cours de différentes courses?
Vous recréer le générateur chaque appel, la réinitialisation de la graine. –
Comment puis-je l'éviter? @Someprogrammerdude –
Vous avez besoin d'une source externe d'entropie, car le moteur aléatoire est pesudo random –