17/06/16 18:49
lumo
Postato originariamente da MirkoArca:
Grazie per la risposta!
Ci sono altri metodi che posso garantire che le combinazioni siano tutte diverse tra loro?
Grazie!
Grazie per la risposta!
Ci sono altri metodi che posso garantire che le combinazioni siano tutte diverse tra loro?
Grazie!
Ad esempio se togli la chiamata a resetScelti. Peró così esaurisci molto più in fretta i numeri.
Un modo migliore che fa ripetere i numeri ma non le sestine è quello di usare una hashtable che abbia come chiave l'hash della sestina.
In questo caso se hai sei valori l'hash è
x1 + (pBase.length)^1 * x2 + (pBase.length)^2 * x3 + ... + (pBase.length)^5 * x6
Che è il classico modo di fare hashing di una sequenza numerica. Se vuoi che le sestine siano uguali anche quando i numeri sono diversi devi ordinare la sestina prima di hasharla.
Dopodiché usi quel valore per vedere se la sestina era gia apparsa. Un array di valori true/false non è una buona idea perché l'hash può diventare molto grande, o giochi di culo sulle collisioni e vai in modulo oppure usi una hashtable appunto.
aaa