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
Ultima modifica di Scara95; 02-01-2014 a 22:35
"Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI
Ciao,
mi chiedo se sia proprio necessario memorizzare tutte le 999^4 combinazioni ;
.... in fondo l'OP ha parlato di centinaia di quadruple distinte con numeri da 1 a 999 senza altri particolari vincoli.
Quindi con i numeri da 1 a 999 otterrebbe 999\4=249 quadruple con 249 estrazioni casuali di indici
(ed avanzerebbero ancora 3 numeri da giocarsi)
Se occorressero altre quadruple non potrebbe bastare scambiare
il primo numero della prima quadrupla con il primo della seconda, della terza ... etc ?
Ultima modifica di sspintux; 03-01-2014 a 00:34