In una piccola applicazione scritta in C / C ++, sto affrontando un problema con rand funzione e forse il seme:
Voglio produrre una sequenza di numeri casuali che sono di ordini diversi, cioè con valori di logaritmo diversi (base 2). Ma sembra che tutti i numeri prodotti siano dello stesso ordine, oscillando tra 2 ^ 25 e 2 ^ 30.
È perché rand()è seminato con il tempo Unix che è ormai un numero relativamente grande? Cosa sto dimenticando? Sto seminando rand()solo una volta all'inizio del main().
rand()di restituire numeri distribuiti uniformemente (la documentazione con un alto ranking di Google lo dice esplicitamente), non penso che questa domanda sia utile per i futuri lettori. Ecco perché vota verso il basso ma non lasciarti scoraggiare dall'uso di SO.

