Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

95
Visualizações
número aleatorio y porcentaje - valor de selección

De alguna manera necesito encontrar una solución al problema, sin embargo, no puedo saber exactamente qué y cómo se puede lograr.

Imaginemos que tengo algunas propiedades

prop1 - 7%

prop2 -3%

prop4 - 35%

y así. los valores anteriores (7,3,35) son cambios porcentuales de ser seleccionado.

Ahora, tengo un número aleatorio entre 0 y 1.

¿Puedo de alguna manera usar la información anterior y elegir la propiedad según ese número aleatorio y los porcentajes?

Cómo puede ser posible ? Perdón por mi pregunta fuera de este mundo.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede usar un número aleatorio para elegir una opción en una lista ponderada de opciones, ya sea que la suma de todas las ponderaciones sume 100 o no, usando este algoritmo:

  1. Crea un número aleatorio entre 0 y 1
  2. Multiplique ese número aleatorio por la suma de sus ponderaciones
  3. Repita sus opciones, manteniendo un total acumulado de las ponderaciones de todas las opciones consideradas hasta el momento. Una vez que su total acumulado esté por encima del número que calculó, habrá encontrado su artículo elegido

Algún código de ejemplo:

 const options = [ { id: 1, weight: 0.5 }, { id: 2, weight: 2 }, { id: 3, weight: 1 }, ]; const pick = function (options) { const weightTotal = options.reduce((sum, option) => sum + option.weight, 0); const seed = Math.random(); const weightedSeed = seed * weightTotal; let runningTotal = 0; for (let option of options) { runningTotal += option.weight; if (runningTotal > weightedSeed) { return option; } } }; console.log(pick(options).id);

Este método requiere que sus opciones disponibles sean iterables, pero su orden no importa ya que de todos modos está usando una semilla aleatoria.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda