Fórmula para jogar um dado?
Math.floor(Math.random() * 6) + 1 dá inteiros 1-6 com probabilidade igual.
Gere números aleatórios com intervalo e quantidade personalizados
Pseudo-aleatório, bem distribuído estatisticamente. Para segurança use crypto.getRandomValues().
Math.floor(Math.random() * 6) + 1 dá inteiros 1-6 com probabilidade igual.
Use Fisher-Yates em um array [1..45] e pegue os primeiros 6 elementos.
Computadores geralmente usam números pseudo-aleatórios. Math.random() usa algoritmo determinístico baseado em semente.
Se um atacante conhece a semente, pode reproduzir todos os valores "aleatórios". Use crypto.getRandomValues() para segurança.
Fisher-Yates percorre o array de trás para frente trocando posições. Complexidade O(n).
Bons geradores produzem distribuição uniforme. Fórmula inteira: Math.floor(Math.random() * (max - min + 1)) + min.
A vantagem da casa nos cassinos é design matemático, não trapaça em números aleatórios.