Dans une petite application écrite en C / C ++, je suis confronté à un problème avec la rand
fonction et peut-être la graine:
Je veux produire une séquence de nombres aléatoires qui sont d'ordres différents, c'est-à-dire avec des valeurs de logarithme différentes (base 2). Mais il semble que tous les nombres produits sont du même ordre, oscillant juste entre 2 ^ 25 et 2 ^ 30.
Est-ce parce que le temps rand()
est basé sur Unix qui est maintenant un nombre relativement important? Qu'est-ce que j'oublie? Je ne seme rand()
qu'une seule fois au début du main()
.
rand()
à renvoyer des nombres uniformément distribués (la documentation avec un classement Google élevé le dit explicitement), je ne pense pas que cette question soit utile pour les futurs lecteurs. C'est pourquoi voter contre mais ne laissez pas cela vous décourager d'utiliser SO.