Skip to content

Posts

Código: Distribuição Aleatória Ponderada

6 de outubro de 2010 • 1 min de leitura

Código: Distribuição Aleatória Ponderada

Isso é genial; eu poderia ter usado isso há alguns anos. Estou postando aqui para guardar. Note que eu NÃO estou usando a classe random. A classe random não é verdadeiramente aleatória. É baseada no tempo. O tempo é previsível.

RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();

byte[] result = new byte[8];
rng.GetBytes(result);
double rand = (double)BitConverter.ToUInt64(result, 0) / ulong.MaxValue;

//40 percent chance of being selected.
if (rand > 0.40d )
{
 ...
}

Autor: Chuck Conway é especialista em engenharia de software e IA Generativa. Conecte-se com ele nas redes sociais: X (@chuckconway) ou visite-o no YouTube.

↑ Voltar ao topo

Você também pode gostar