Defina a faixa, escolha quantos números quer e sorteie. Ligue «sem repetir» para uma rifa, onde o mesmo número não pode sair duas vezes.
Resultado
Por que quase todo gerador é um pouco injusto
A forma habitual de encaixar um número aleatório numa faixa é pegar um valor bruto e usar o resto da divisão: tome um byte de 0 a 255, divida por 6, fique com o resto, e você tem um dado. Funciona, e não é bem justo. São 256 bytes possíveis para 6 faces, e 256 não é divisível por 6: dá 42 vezes com 4 sobrando. Essas quatro sobras caem nas faces de 1 a 4, então um dado feito assim tira 1, 2, 3 e 4 em 43 dos 256 bytes, e 5 e 6 em apenas 42. São cerca de 2,4% a mais para as faces baixas: invisível em vinte jogadas, e perfeitamente sistemático em vinte mil.
O conserto é jogar as sobras fora. Este gerador pede ao navegador um número de 32 bits e, se ele cair no pedaço do topo que não divide certo, descarta e pede outro. O que resta divide exato, então todo valor da sua faixa tem a mesma chance. Não quase a mesma, a mesma. O custo é que de vez em quando um sorteio leva duas tentativas em vez de uma, o que ninguém percebe e é o preço inteiro da justiça.
Os números vêm de crypto.getRandomValues, a fonte criptográfica do navegador, e não de Math.random. O Math.random é rápido e serve para embaralhar uma animação de fundo, mas é um algoritmo previsível: com saída suficiente em mãos, dá para deduzir a saída seguinte. Para decidir quem lava a louça isso é irrelevante. Para sortear um prêmio é a diferença entre um sorteio e uma formalidade.
Uma coisa que esta página não vai dizer é que o sorteio é auditável. Não é, e nenhum gerador de navegador é: o resultado sai na sua própria máquina, e nada nele prova coisa alguma a quem não estava olhando para a sua tela. Para uma sala de aula, um jogo ou uma decisão entre amigos, isso basta e sobra. Para um sorteio com dinheiro ou obrigação legal, o que se quer é um processo com testemunhas, não uma página web.
Perguntas frequentes
Os números são mesmo aleatórios?
Vêm de crypto.getRandomValues, que o navegador alimenta com entropia do sistema operacional: tempos de mouse, ruído de hardware e coisas assim. É a mesma fonte usada para chaves criptográficas. Não é uma fórmula matemática cuja próxima saída se deduz das anteriores, que é o que o Math.random é.
O que faz a opção «sem repetir»?
Sorteia cada número no máximo uma vez, como tirar bilhetes de um chapéu sem devolvê-los. Seis números de 1 a 60 saem todos diferentes. Se você pedir mais números do que a faixa contém (seis diferentes entre 1 e 5, digamos) a ferramenta recusa em vez de devolver cinco em silêncio.
Pode sair o mesmo número duas vezes?
Pode, a menos que marque «sem repetir». Sorteios independentes da mesma faixa repetem mais do que se espera: tire dois números de 1 a 10 e eles coincidem cerca de uma vez em dez. Não é defeito, é o que independência significa.
Serve para um sorteio de prêmio?
Os números são tão justos quanto se consegue fazer. O que uma página web não dá é prova para terceiros: o sorteio acontece no seu computador e não deixa evidência que outra pessoa possa conferir. Para um sorteio informal, tudo bem. Onde o resultado pode ser contestado ou tem valor legal, faça o sorteio com testemunhas ou num serviço feito para ser auditado.
Quantos números posso sortear de uma vez?
Até 1.000. O limite é sobre o que cabe numa tela e continua legível, não sobre o gerador. Sortear um milhão seria igualmente rápido e completamente inútil de olhar.
Usamos cookies para medir o uso do site e exibir anúncios. As calculadoras funcionam de qualquer forma: o que você digita não sai do seu aparelho. Privacidade