Foros del Web » Programando para Internet » Javascript »

Numeros aleatorios descartando numeros

Estas en el tema de Numeros aleatorios descartando numeros en el foro de Javascript en Foros del Web. Hola a todos. Tengo una consulta.... Necesito generar números aleatorios 8hasta ahí voy bien) El problema es que necesito que el número que se genere, ...
  #1 (permalink)  
Antiguo 11/01/2013, 15:40
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 1 mes
Puntos: 10
Numeros aleatorios descartando numeros

Hola a todos.

Tengo una consulta....

Necesito generar números aleatorios 8hasta ahí voy bien)

El problema es que necesito que el número que se genere, se elimine del rango para la próxima ejecución.

Ejemplo:

Primera vez: Número aleatorio: entre 1 y 10 ------------------> 5
Segunda vez: Número aleatorio entre 1 y 10 MENOS el 5 ---> 9
Tercera vez: número aleatorio entre 1 y 10 MENOS 5 y 9 ----> 2
Cuarta vez: número aleatorio entre 1 y 10 MENOS 5, 9 y 2 --> 4

Esa es la idea...

¿Algún Script o forma de hacerlo?

Por más vueltas que le doy no saco la lógica para programarlo...


Gracias y un saludo.

Javier
  #2 (permalink)  
Antiguo 11/01/2013, 16:38
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Numeros aleatorios descartando numeros

Que tal si:
1)almacenás los valores posibles en un array
2)seleccionás con Math.random un valor de índice teniendo en cuenta el length del array
3)quitás con splice el valor del índice seleccionado del array
4)repetís el proceso hasta que el array quede vacío o que no quieras más valores
  #3 (permalink)  
Antiguo 11/01/2013, 17:46
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Numeros aleatorios descartando numeros

Hay una alternativa menos costosa que es
1)almacenás los valores posibles en un array
2) Mezclas el array por ejemplo con la función
Código Javascript:
Ver original
  1. Array.prototype.mezclar= function() {
  2.     for ( var i = this.length-1; i > 0; i-- ) {
  3.         var j = Math.floor( i * Math.random() );
  4.         var tmp = this[ j ];
  5.         this[ j ] = this[ i ];
  6.         this[ i ] = tmp;
  7.     }
  8.     return this;
  9. }
3)Recorres el array de 0 hasta su length -1 con un simple for.
  #4 (permalink)  
Antiguo 12/01/2013, 01:41
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Numeros aleatorios descartando numeros

marlanga, seguís con la costumbre de leer las cosas a medias antes de responder
  #5 (permalink)  
Antiguo 12/01/2013, 14:44
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Numeros aleatorios descartando numeros

Acá tenés para entretenerte
http://www.forosdelweb.com/f13/aport...genes-1017074/

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 13/01/2013, 04:34
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 1 mes
Puntos: 10
Respuesta: Numeros aleatorios descartando numeros

Hola a todos.

Gracias por las aportaciones.

Ya lo hice con un poquito de aquí y otro poquito de acá.

La verdad, que no era tan difícil, pero como era tarde, fue un día muy largo de trabajo, ya no me salían las ideas!!


Gracias a todos por la ayuda!!!!


Saludos.

Javier

Etiquetas: numeros, aleatoria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:48.