C/Visual C - Generar numeros aleatorios equiprobables

 
Vista:

Generar numeros aleatorios equiprobables

Publicado por VictorSanchez2 (15 intervenciones) el 06/10/2002 11:07:45
El problema es el siguiente:
La rutina C "rand" de la libería stdlib genera números aleatorios equiprobables entre 0 y el valor de RAND_MAX. Usar esta función para construir una rutina int aleat(int iP, int iU) que genere un número aleatorio equiprobable entre los enteros iP, iU, ambos inclusive.

La función que yo tengo es esta: (rand() % (iU - iP + 1)) + iP;
pero el profesor nos ha dicho que no podemos usar %, así que nada, si alguien puede ayudarme muchas gracias.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Generar numeros aleatorios equiprobables

Publicado por Googol (255 intervenciones) el 06/10/2002 12:26:17
Parece que no eres el único de la clase que ha preguntado eso.
Revisa los mensajes del foro. Tal vez tengas que dividir el valor rand() entre RAND_MAX para que la respuesta que se dió se adapte a lo que tú dices.

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Generar numeros aleatorios equiprobables

Publicado por Ismael (230 intervenciones) el 06/10/2002 22:37:19
Bueno, parece que no quiere que calcules el módulo de la división mediante el %.
Pero hay un algoritmo sencillo que te permite calcularlo. Te pongo un ejemplo para la operación 10%3 que, como sabemos da 1:
(float)(10/3) da 3.333333
3.33333333 - La parte enterra de 3.3333333 --> da 0.33333333
0.33333333333 * divisor (que era 3) ---> 0.9999999
Ahora emplea la funcion ceil() de math.h
Inténtalo.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar