Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

230
Vistas
Obtenga un número aleatorio centrado en el centro

¿Es posible obtener un número aleatorio entre 1 y 100 y mantener los resultados principalmente dentro del rango de 40 a 60? Quiero decir, rara vez saldrá de ese rango, pero quiero que esté principalmente dentro de ese rango... ¿Es posible con JavaScript/jQuery?

En este momento solo estoy usando Math.random() * 100 + 1 básico.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

La forma más sencilla sería generar dos números aleatorios del 0 al 50 y sumarlos.

Esto da una distribución sesgada hacia 50, de la misma manera que tirar dos dados sesga hacia 7.

De hecho, al usar una mayor cantidad de "dados" (como sugiere @Falco) , puede hacer una aproximación más cercana a una curva de campana:

 function weightedRandom(max, numDice) { let num = 0; for (let i = 0; i < numDice; i++) { num += Math.random() * (max/numDice); } return num; } 

números aleatorios ponderados

JSFiddle: http://jsfiddle.net/797qhcza/1/

over 4 years ago · Santiago Trujillo Denunciar

0

Tiene algunas buenas respuestas aquí que brindan soluciones específicas; déjame describirte la solución general. El problema es:

  • Tengo una fuente de números aleatorios distribuidos más o menos uniformemente entre 0 y 1.
  • Deseo producir una secuencia de números aleatorios que sigan una distribución diferente.

La solución general a este problema es calcular la función cuantil de su distribución deseada y luego aplicar la función cuantil a la salida de su fuente uniforme.

La función cuantil es la inversa de la integral de su función de distribución deseada. La función de distribución es la función en la que el área bajo una parte de la curva es igual a la probabilidad de que el elemento elegido al azar esté en esa parte.

Doy un ejemplo de cómo hacerlo aquí:

http://ericlippert.com/2012/02/21/generating-random-non-uniform-data/

El código está en C#, pero los principios se aplican a cualquier lenguaje; debería ser sencillo adaptar la solución a JavaScript.

over 4 years ago · Santiago Trujillo Denunciar

0

Tomar matrices de números, etc. no es eficiente. Debe tomar una asignación que tome un número aleatorio entre 0 y 100 y se asigne a la distribución que necesita. Entonces, en su caso, podría tomar f(x)=-(1/25)x 2 +4x para obtener una distribución con la mayor cantidad de valores en el medio de su rango.

Distribución

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda