Formula per lanciare un dado?
Math.floor(Math.random() * 6) + 1 dà interi 1-6 con probabilità uguale.
Genera numeri casuali con intervallo e quantità personalizzati
Pseudo-casuale, ben distribuito statisticamente. Per sicurezza usa crypto.getRandomValues().
Math.floor(Math.random() * 6) + 1 dà interi 1-6 con probabilità uguale.
Usa Fisher-Yates su un array [1..45] e prendi i primi 6 elementi.
I computer usano spesso numeri pseudo-casuali. Math.random() usa un algoritmo deterministico basato su seed.
Se un attaccante conosce il seed, può riprodurre tutti i valori "casuali". Usa crypto.getRandomValues() per la sicurezza.
Fisher-Yates scorre l'array dall'ultimo elemento scambiando posizioni. Complessità O(n).
I buoni generatori producono distribuzione uniforme. Formula intera: Math.floor(Math.random() * (max - min + 1)) + min.
Il vantaggio del banco nei casinò è design matematico, non imbroglio nei numeri casuali.