pregunta, tonta tal vez (ya se no hay preguntas tontas... solo tontos que preguntan)<br>para un dado de 0 a 5 no seria mas simple hacer de 0 a 6 y te quedas con la parte entera?<br>si sale 0.6 es 0 si sale 2.3 es 2 si sale 5.49 es 5 etc... si sale justo 6 tiras otra vez o es 0 o 5 <br>
David<br><br><div class="gmail_quote">El 19 de junio de 2009 17:56, Programante <span dir="ltr"><<a href="mailto:programante@gmail.com">programante@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Mariano Demarchi escribió:<br>
<div><div></div><div class="h5">> Hola a todos, estaba viendo un mail que enviaron a la lista en donde<br>
> decian que cuando se quiere limitar el rango en el que se obtienen<br>
> valores aleatorios, por ejemplo usando rand(), la expresion:<br>
> valor_generado = valor_inicial + (int)(<br>
> rand()*(intervalo/(RAND_MAX+1.0)) + 0.5 );<br>
> genera valores mas aleatorios que:<br>
> valor_generado = valor_inicial + rand() % intervalo;<br>
> Para mi no es asi, pero me gustaria saber su opinion y la razon de ésta.<br>
> Saludos<br>
<br>
</div></div>Porque puede no haber el mismo número de elementos en cada clase.<br>
Supongamos que RAND_MAX sea 9, es decir, que tienes una función que te<br>
produce un<br>
número perfectamente aleatorio de 0 a 9.<br>
<br>
Si lo que quieres es obtener un número de 0 a 4, el módulo te sirve<br>
perfectamente, porque<br>
todas las clases tienen los mismos elementos.<br>
En cambio si lo que quieres es un número de 0 a 5 (por ejemplo para<br>
simular un dado)<br>
usar el módulo te dará un resultado sesgado:<br>
<br>
Tu valor | Valores de la función aleatoria | Frecuencia<br>
0 -> 0, 6  20%<br>
1-> 1, 7  20%<br>
2 -> 2, 8  20%<br>
3 -> 3, 9  20%<br>
4 -> 4     10%<br>
5 -> 5    10%<br>
<br>
¡Cuesta el doble sacar los números altos! (aunque dependiendo del juego,<br>
igual te interesa, jeje).<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote></div><br><br clear="all"><br>-- <br> (\__/) <br>(='.'=)This is Bunny. Copy and paste bunny into your <br>(")_(")signature to help him gain world domination. <br><br>