Maison > développement back-end > C++ > Pourquoi est-ce que j'obtiens les mêmes nombres aléatoires à chaque itération de boucle ?

Pourquoi est-ce que j'obtiens les mêmes nombres aléatoires à chaque itération de boucle ?

DDD
Libérer: 2024-11-04 11:50:02
original
230 Les gens l'ont consulté

Why Do I Get the Same Random Numbers in Each Loop Iteration?

Pourquoi est-ce que j'obtiens les mêmes nombres aléatoires à chaque itération de boucle ?

Dans votre boucle, vous avez implémenté le srand(time(0) ), dans le but de générer des nombres aléatoires uniques. Cependant, après observation, vous avez remarqué que les variables carSetter et decider impriment systématiquement la même valeur dans chaque exécution de boucle.

Ce comportement est attribuable à la nature de la fonction srand(). Lorsqu'il est appelé, srand() initialise la graine du générateur de nombres aléatoires en fonction du paramètre spécifié. Dans ce cas, time(0) est utilisé, qui représente l'heure actuelle en secondes. Cependant, comme la boucle s'exécute rapidement, la valeur time(0) reste la même tout au long des itérations de la boucle. Par conséquent, la graine ne change pas, ce qui entraîne à chaque fois la même séquence de nombres pseudo-aléatoires.

Pour résoudre ce problème, il est recommandé d'appeler srand() une seule fois au début de votre programme, en initialisant la graine avec une variable ou une valeur qui ne changera pas pendant l'exécution de la boucle. Cela garantira la génération de nombres aléatoires uniques à chaque itération.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal