Pregunta: | 25916 - COMO GENERO NUMEROS ALEATORIOS , PERO QUE NO COMIENCEN EN 0? |
Autor: | Leo Holc |
Tengo que generar numeros aleatorios entre 5 y 2000
Yo se como mandar el maximo a la funcion rand( ) , pero no como mandar el numero de inicio. Otra cosa, como se hace en caso de numeros FLOAT? |
Respuesta: | Luis Machuca |
Eso es bastante sencillo cuando no estás usando floats, lo que hacemos es aprovechar el truco:
primero, entre 5 y 2000 hay 1995 números aleatorios, esto es el "rango". El cinco (5) es nuestro "inicio". Entonces, la línea: variable=inicio+random(rango); genera números aleatorios entre inicio e inicio+rango, esto porque la instruccíon random(1995) genera números entre 0 y 1995, si les sumamos inicio (5) obtenemos números entre 5 y 2000, ambos inclusive. Esta técnica sirve para crer números aleatorios en cualquier rango, por ejemplo entre 4 y 30 (26 aleatorios) la instrucción sería: variable=4+random(26); Para los floats imagino que hay que convertir inicio a una expresión entera y el resultado de variable a float otra vez, pero nunca lo he probado. Espero ayudar. |