Potresti utilizzare un array popolato con numeri distinti , per es un array di nome Ar con indici da 1 a 999, e
procedere estraendo casualmente gli indici come segue;
- alla prima estrazione consideri il range di indici da 1 a 999 e supponiamo esca il 10;
Ar(10) è il primo numero estratto che scambi di posto con Ar(999)
- alla seconda estrazione consideri il range di indici da 1 a 998 (così sei sicuro di escludere quello già estratto)
e supponiamo esca ancora il 10;
Ar(10) è il secondo numero estratto che scambi di posto con Ar(998)
... e così via fino alla fine .
Al termine avrai in Ar i numeri causali e distinti con il primo estratto all'ultimo indice, il secondo estratto al penultimo etc...
HTH
HTH
Ci avevo pensato anch'io, ma si parla di quadruple uniche, che sarebbe un 999^4 numero di quadruple uniche....
Edit: approssimativamente 7,25 TB con interi a 2 bytes
Ultima modifica di Scara95; 02-01-2014 a 22:35
"Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares