Formulário de comentários
Oi! O que você acha?

Arraste-a aqui ou cole com Ctrl+V


    Você também pode nos enviar um e-mail em infocalculat.io

    Gerador de números aleatórios

    Um número inteiro aleatório entre dois limites

    Gerador de números aleatórios

    Número aleatório de
    a

    Como funciona o gerador de números aleatórios

    Intervalos populares

    1–10 · 1–100 · 1–6 · 1–2 · 1–3 · 1–4 · 1–5 · 1–20 · 1–50 · 1–1.000 · 0–9 · 0–1 · 1–60 · 1–12 · 1–30 · 1–8 · 1–25 · 1–365 · 1–10.000 · 0–100 · 1–200 · 1–500 · 1–40 · 0–10

    A fórmula de qualquer intervalo

    Um intervalo de min a max com os dois extremos incluídos tem

    N = max − min + 1

    números inteiros, e um gerador justo dá a cada um a mesma chance, P = 1 / N. O «+ 1» é o que mais se esquece: de 1 a 100 há 100 números, não 99, porque os dois extremos contam. Com repetição os sorteios são independentes, e a chance de um número específico sair pelo menos uma vez em k sorteios é

    1 − (1 − 1/N)k

    que passa de 50% por volta de 0,69 × N sorteios (ln 2 ≈ 0,693), e não em N / 2.

    Como um número é sorteado, passo a passo

    1. O navegador preenche uma palavra de 32 bits com crypto.getRandomValues() — um valor de 0 a 4.294.967.295.
    2. As palavras iguais ou maiores que ⌊232 / N⌋ × N são descartadas e sorteadas de novo. Esse corte deixa o espaço como múltiplo exato de N; sem ele, o resto favoreceria um pouco os números baixos.
    3. A palavra aceita é dividida por N, e o resto é somado a min. Para vários números diferentes o gerador embaralha o intervalo parcialmente (Fisher–Yates), então cada número só pode sair uma vez.

    Por que não Math.random()

    Math.random() é um gerador rápido de uso geral: o padrão da linguagem não exige que ele seja imprevisível, e os navegadores o implementam com algoritmos cuja próxima saída pode ser reconstruída a partir das anteriores. crypto.getRandomValues() é a fonte criptograficamente segura do navegador, alimentada pelo sistema operacional — a mesma usada para gerar chaves de criptografia. Não há alternativa: um navegador sem ela recebe um aviso, não um número mais fraco.

    Como ler o resultado

    IntervaloNúmeros inteirosChance de cada número Sorteios até 50%
    1–2250%1
    1–66≈16,67%4
    1–101010%7
    1–20205%14
    1–1001001%69
    1–1.0001.0000,1%693
    1–10.00010.0000,01%6.932

    «Sorteios até 50%» é quantos sorteios independentes são precisos para que um número específico tenha pelo menos metade de chance de ter saído uma vez. Os sorteios anteriores não mudam nada: um número que não sai há tempo não «está para sair».

    Para que se usa

    • Sorteios e promoções: numere as participações e sorteie um vencedor de 1 ao total.
    • Jogos tipo loteria: vários números diferentes de uma vez com «Sem repetição», em ordem se quiser.
    • Jogos: no lugar de um dado — de 1 a 6 para um comum, de 1 a 20 para um d20.
    • Aulas e reuniões: escolher de quem é a vez pelo número na lista.
    • Amostragem: decidir quais linhas, itens ou entrevistados entram numa amostra aleatória.
    • Desempate: quando todas as opções servem igualmente, deixe um número decidir.

    Limites e ressalvas

    • Um algoritmo, não um processo físico. Os números vêm de um gerador pseudoaleatório criptograficamente seguro: imprevisível na prática, mas calculado. Serviços como o random.org tiram a aleatoriedade de ruído físico; nos sorteios do dia a dia a diferença não aparece.
    • Só números inteiros, de 0 a 1.000.000; o limite inferior deve ser menor que o superior.
    • Até 1.000 números por sorteio, e sem repetição não mais do que o intervalo tem.
    • Nada é registrado. O histórico vive só nesta aba; para um sorteio que precise de testemunhas ou auditoria, siga o procedimento do seu regulamento.

    Veja também

    Últimos resultados

    FAQ

    Como o gerador escolhe o número?

    Ele pede ao navegador um valor aleatório de 32 bits com crypto.getRandomValues() e o leva para o intervalo. Os valores do último bloco incompleto do espaço de 32 bits são descartados e sorteados de novo (amostragem por rejeição), então todos os números do intervalo têm exatamente a mesma chance e os menores não saem favorecidos.

    Os dois limites estão incluídos?

    Sim. De 1 a 100 há 100 números inteiros, e o 1 e o 100 saem com a mesma frequência que o 50. Em geral, de min a max há max − min + 1 números, e cada um tem chance de 1 nessa quantidade.

    Posso sortear vários números sem repetição?

    Sim. Informe quantos números você precisa e marque «Sem repetição»: o gerador sorteia sem reposição, como bolas de um globo, e nenhum número aparece duas vezes. Sem repetição não dá para pedir mais números do que o intervalo tem.

    O número é realmente aleatório?

    O gerador criptográfico do navegador recebe sua semente da entropia do sistema operacional e foi feito para que a saída não possa ser prevista — é o mesmo tipo de fonte usado para criar chaves de criptografia. Ainda assim é um algoritmo, não um processo físico; para um sorteio oficial com ata, siga o procedimento que o seu regulamento exige.