rand
De cppreference.com
< cpp
Sintaxis:
#include <cstdlib> int rand( void );
La función rand() returna un valor entero pseudoaleatorio entre cero (0) y el valor predefinido RAND_MAX.
[editar] Ejemplo
srand( time(NULL) ); for( i = 0; i < 10; i++ ) printf( "Random number #%d: %d\n", i, rand() );
- !: **Nota técnica**: aunque hay maneras de acotar el rango retornado por rand(), muchos de estos métodos no producirán una distribución uniforme. Por ejemplo, usar simplemente el operador módulo (%) y escalar el valor retornado utilizando división en punto flotante.
El siguiente algoritmo puede ser utilizado para acotar el valor retornado por rand() con distribución uniforme en el rango [0...limit):
// Assumes limit <= RAND_MAX int randomNumber(int limit) { unsigned int n; unsigned int mask = 0xFFFFFFFF; while(mask > limit * 2) mask >>= 1; do { n = rand(); n &= mask; } while (n >= limit); return n; }
[editar] Tópicos Relacionados
- srand -- inicializar el generador utilizado por rand