Podemos comprobar la uniformidad de los números aleatorios generando una secuencia muy grande de números aleatorios enteros comprendidos entre 0 y 9 ambos inclusive. Contamos cuantos ceros aparecen en la secuencia, cuantos unos, ... cuantos nueves, y guardamos estos datos en los elementos de un array.
Primero creamos un array ndigitos de 10 de elementos que son enteros.
int[] ndigitos = new int[10];
Inicializamos los elementos del array a cero.
for (int i = 0; i < 10; i++) {
ndigitos[i] = 0;
}
Creamos una secuencia de 100000 números aleatorios enteros comprendidos entre 0 y 9 ambos inclusive (véase el apartado anterior)
for (long i=0; i < 100000L; i++) {
n = (int)(rnd.nextDouble() * 10.0);
ndigitos[n]++;
}
Si n sale cero suma una unidad al contador de ceros, ndigitos[0]. Si n sale uno, suma una unidad al contador de unos, ndigitos[1], y así sucesivamente.
Finalmente, se imprime el resultado, los números que guardan cada uno de los elementos del array ndigitos
for (int i = 0; i < 10; i++) {
System.out.println(i+": " + ndigitos[i]);
}
Observaremos en la consola que cada número 0, 1, 2...9 aparece aproximadamente 10000 veces.
- Blogger Comment
- Facebook Comment
Suscribirse a:
Enviar comentarios
(
Atom
)
0 comentarios:
Publicar un comentario
Gracias por comentar ;-)