Oppure

Loading
27/02/09 14:48
jigen80
grazie P4p3r0g4 per il post, ma ho 2 domande da farti:
1)Perchè l'array N deve essere casuale? Volendo provare a giocare tutti e 90 i numeri non posso lasciarli ordinati dall'1 al 90?
2)Cosa intendi per "associo"?
aaa
27/02/09 14:50
GrG
vabbè meglio che lascio perdere..lol...fatti aiutare da Paperoga che è molto + bravo di me in matematica e guarda la sua risposta...
aaa
27/02/09 18:21
tippolo
Postato originariamente da jigen80:

Rispondo a Tippolo,
Generare tutte le possibili cinquine è l'ultima strada che vorrei percorrere, visto che le cinquine possibili con 90 numeri sono 43.949.268 contro le 1.235.347 a me necessarie (vedi post sopra).

Appunto!
Il sistema è stato ridotto ad n-1 (garanzia 5).
Almeno questo è quello che ho capito io!

[OT]
Paperoga mi hai stravolto!
Non ho più la mente lucida di una volta per poterti seguire :blush:
[FINE OT]
aaa
27/02/09 19:45
jigen80
Paperoga, ho provato a scrivere quello che ho capito della tua spiegazione cercando (prescindendo dalla generazione casuale che non capisco), con riferimento ad un mio post precedente, la certezza dell'ambo fra i terni possibili generati con 5 numeri:

for n1=1 to 3
for n2=a1+1 to 4
for n3=n2+1 to 5
if ((n2<>5) AND (n3<>5) AND (n3<>4)) THEN
    print n1,n2,n3
end if
next n3
next n2
next n1

il risultato non mi torna poichè è

1 - 2 - 3

quando invece io mi aspetto 2 combinazioni. Cosa non ho capito???
aaa
28/02/09 1:37
P4p3r0g4
no, non ci siamo proprio.
n2 e n3 possono essere 5 (e 4) ammesso che n1 sia diverso da 1 ( o 2).

qua si parla di array.
diciamo che l'array N contiene j elementi.
facciamo tre cicli.
for n1 = 1 to j - 2
for n2 = n1 +1 to j-1
if not(n2 = (j + 1 - n1)) then
for n3 = n2 +1 to j
if not (n3 = (j + 1 - n1) or n3 = (j + 1 - n2)) then
... N(n1) & N(n2) & N(n3)
endif
next n3
endif
next n2
next n1

non l'ho provato ma dovrebbe funzionare (e rendere l'idea)

dico che devi scombinare gli elementi DI N (sottolineo) perche`a mio parere e` meglio che le coppie di numeri che non verranno giocate assieme non siano prefissate ma casuali.
della serie se non scombiniamo N, e magari i numeri sono da 1 a 90.
avremo la certezza che 1 non vedra mai il 90 il 2 non vedra` l'89 il 3 l'88.
a mio parere e` meglio che le coppie siano fissate casualmente, no?
aaa
28/02/09 2:01
P4p3r0g4
ok in questo caso abbiamo una eccezione

ho controllato il caso che tu hai descritto e` abbastanza particolare in quanto scegliendo 3 numeri tra 5, tutte le terzine hanno almeno un numero in comune.
essendo questo numero sempre presente, abbiamo una singolarita`.
se esce, basta che esca un qualsiasi altro numero e otteniamo un ambo.
se non esce vuole dire che abbiamo una estrazione di 3 numeri scelti da (5-1).
qindi sicuramente ottengo una terzina.

prova a mettere al posto di 5 un 7 e vedrai che il codice dovrebbe funzionare.

non l'ho ancora dimostrato (capiscimi sono appena tonato da una festa e sono le 3 di notte) ma penso che non possa funzionare per tutti i casi in cui il numero di estrazioni sia maggiore della meta` degli elementi disponibii.

domani se ho tempo provo a farti qualcosa di piu formale e dimostrato (per adesso e` ancora solo una supposizione)
aaa
28/02/09 12:47
jigen80
caro paperoga,
ho provato a scrivere il codice come tu mi hai consigliato aumentando il numero da 5 a 7.
Con 7 numeri, i possibili 3 sono 35. Giocando 3 numeri e cercando i 2 ho 3 ambi possibili più i 4 numeri rimanenti per un totale di 12 possibilità. le combinazioni che soddisfano l'uscita dell'ambo sono allora (12/35)^-1, cioè 3.
Lanciando il codice però mi vengono restituite 20 combinazioni!!!
aaa
28/02/09 16:11
P4p3r0g4
no comunque non si puo risolvere il sistema in 3 combinazioni.
pero si in effett c'e una falla nel mio sistema che aumenta enormemente il numero di giocate.

io avevo considerato sistemi a 6 mentre qua si parla che i numeri devono essere associati in 5.
ad esempio se prendo

1 2 3
1 2 4
3 4 5

la combinazione 2 3 4 e` inutile perche esistono gia 2 3 , 2 4 , 3 4.

dammi un po per pensarci.


aaa