Em um aplicativo pequeno escrito em C / C ++, estou enfrentando um problema com a rand
função e talvez a semente:
Eu quero produzir uma sequência de números aleatórios que são de ordens diferentes, ou seja, com diferentes valores de logaritmo (base 2). Mas parece que todos os números produzidos são da mesma ordem, flutuando apenas entre 2 ^ 25 e 2 ^ 30.
É porque rand()
é semeado com o tempo do Unix, que agora é um número relativamente grande? O que estou esquecendo? Estou semeando rand()
apenas uma vez no início do main()
.
rand()
retornar números uniformemente distribuídos (a documentação com alta classificação no Google diz isso explicitamente), não acho que essa pergunta seja útil para futuros leitores. É por isso que não votar, mas não o desanime de usar o SO.