• Domingo 28 de Abril de 2024, 20:25

Autor Tema:  Numero Aleatorio  (Leído 2173 veces)

quotodien

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Numero Aleatorio
« en: Martes 6 de Marzo de 2007, 19:55 »
0
hola, tengo que hacer un algoritmo evolutivo, y necesito una funcion que genere un numero aleatorio.

nota:
- No quesiera usar directamente el reloj de la computadora, si es posible nada.
- Tiene que ser rapida la funcion, (que no tenga muchas operaciones como logaritmos o cosas raras).
- y tiene que ser un buen algoritmo(que sean numeros aleatorios).

ya estuve investigando, y e encontrado algoritmos que no me sirven mucho o que no bienen bien explicados.

gracias si alguien puede ayudarme, se lo agradeceria.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Numero Aleatorio
« Respuesta #1 en: Martes 6 de Marzo de 2007, 20:40 »
0
Citar
- No quesiera usar directamente el reloj de la computadora, si es posible nada.
- Tiene que ser rapida la funcion, (que no tenga muchas operaciones como logaritmos o cosas raras).
- y tiene que ser un buen algoritmo(que sean numeros aleatorios).

Entonces como lo piensas hacer?
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

quotodien

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Numero Aleatorio
« Respuesta #2 en: Miércoles 7 de Marzo de 2007, 02:56 »
0
si, ya entendi, esta bien , me conformo con que me propongan alguno:

Nota:

-rapido y bonito(si se puede!!!!)

aunque sea solo el nombre.

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Numero Aleatorio
« Respuesta #3 en: Miércoles 7 de Marzo de 2007, 05:44 »
0
Con srand(time(0)) especificas la semilla antes de llamar a rand() utilizando la hora del sistema (Justo lo que no querías  :P ).-

La semilla la especificas una sola vez y por lo tanto no es relevante el tiempo que te consuma.-
Si la semilla no se especificara, tu serie de números no sería aleatoria sino pseudo-aleatoria por lo que el uso de srand por lo general es necesario.-

Saludos  :beer:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

quotodien

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Numero Aleatorio
« Respuesta #4 en: Miércoles 7 de Marzo de 2007, 23:51 »
0
gracias, pero una curiosidad del ejemplo de la ayuda.

printf("   %6d  ", i), ¿que hace ese "6"  ahí?

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Numero Aleatorio
« Respuesta #5 en: Jueves 8 de Marzo de 2007, 01:03 »
0
Dice que se impriman 6 dígitos y en caso que i tenga menos de 6 digitos los completará con espacios delante del número.-
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Numero Aleatorio
« Respuesta #6 en: Jueves 8 de Marzo de 2007, 01:26 »
0
No se si sobra decir, pero quiero recordarles que pos mas ANSI que se sea la funcion rand() si no se unsa una implementacion el limite de numeros (para que no se repita)  es de 2^31 llamadas en sistemas de 32 bits.

Digo esto porque puede ser usado para hacer "noise" en una imagen, si sobrepasas los 2^31 usando uns 5000 o mas pares tendras unas lineas en vez de los puntos (llamados noise o ruido).

 :comp:

En ANSI C =>

Código: Text
  1. N       = an   + b(mod c)
  2.   j +1       j    
  3.  
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.