[Generico] Combinazioni

minckios
Ciao a tutti, io qui centro molto poco, quindi scusatemi, però ho bisogno del vostro aiuto se potete.
vorrei tanto riuscire ad ottenere la lista completa di tutte le combinazioni di 6 numeri, da 1 a 90. in poche parole sarebbero tutte le combinazioni(622 milioni ecc) del superenalotto! io ho pensato che non dovrebbe essere troppo complicato da fare. ma forse mi sbaglio! io non sono un programmatore e di informatica non ne so quasi niente :( però volevo chiedere il vostro aiuto, se riuscite a creare un foglio, esempio excel, o qualcosa di simile, con tutte queste 622 milioni di combinazioni. Vi ringrazio anticipatamente in ogni caso!
Grazie.
-Stefano-

Risposte
dzcosimo
nel superenalotto posso no essere ripetuti i valori? nel senso
11 2 34 11 2 ha senso?

minckios
ciao!!!no, nei sei numeri estratti non si possono ripetere i numeri!
pensi di poterci riuscire???

apatriarca
In C è sufficiente qualcosa del tipo:
for (int i1 = 1; i1 < 86; ++i1) {
    for (int i2 = i1+1; i2 < 87; ++i2) {
        for (int i3 = i2+1; i3 < 88; ++i3) {
            for (int i4 = i3+1; i4 < 89; ++i4) {
                for (int i5 = i4+1; i5 < 90; ++i5) {
                    for (int i6 = i5+1; i6 < 91; ++i6) {
                        fprintf(file, "%d\t%d\t%d\t%d\t%d\t%d\n", i1, i2, i3, i4, i5, i6);
                    }
                }
            }
        }
    }
}

In pratica genera tutte le sestine di numeri da 1..90 tale che i1 < i2 < i3 < i4 < i5 < i6. Non dovrebbe essere difficile convertire il codice in un altro linguaggio.

minckios
ok e poi riesci a portare tutto su un foglio word o excel o inviarlo per email o in qualche altro modo????

Umby2
"minckios":
ok e poi riesci a portare tutto su un foglio word o excel o inviarlo per email o in qualche altro modo????


Ti rendi conto che si parla di 622 milioni di combinazioni ? :shock:

Ammesso che generi una riga di stampa di 12 caratteri (6x2) + altri 2 per il CR-LF per ogni combinazione, produci un file di 6 GB. :roll:

minckios
Si lo so, ma ugualmente riusciresti a farlo, cioè non è impossibile??cmq non è un problema se il file pesa 6gb!!?o sbaglio??

Umby2
Crearlo è semplice,

inviartelo via mail, non ci penso minimamente. :wink:

minckios
ok bhè questo e gia una buona notizia :) cmq: e se dividi il file in 4 parti dovrebbe essere più semplice da inviare, giusto?se potessi farmelo da me sarebbe una gran cosa peccato che non ci capisco molto!eh a caricarlo sul forum non si riesce vero???in modo che lo posso scaricare io successivamente....

apatriarca
Considerando che la mia email credo mandi file fino a 10MB, il file di 6 GB (ma poi sarebbero molti di più per un file word o excel) dovrei dividerlo in circa 600 file diversi... Non mi sembra una buona idea... Avrebbe più senso mandarti il programma che genera il file excel o word. Ma perché vuoi tutte le combinazioni del superenalotto?

dzcosimo
io non vorrei fare un appunto inutile

ma un coso del genere secondo che computer hai potrebbe sovraccaricare il processore in poco tempo

apatriarca
La scrittura su HD è sicuramente l'operazione più lenta che viene eseguita nel ciclo del programma ed il processore rimane quindi per la maggior parte del tempo in attesa.

minckios
ok per l'email è esclusa l'idea!vorrei avere tutte quelle combinazioni per fare diversi sistemi e pianificare alcune giocate e studiare le probabilità non è solo per il giocare in se ma anche per uno studio personale, so che per te può sembrare una sciocchezza però per me è davvero importante ti prego e vi prego di aiutarmi!allora posso provare a farlo io dal mio pc, il programma me lo invii per email, giusto???poi però dovrai farmi da tutor :-) lo so è chiedere molto, però se è possibile aiutami!
grazie ancora

Umby2
L'approccio al problema è sbagliato.
Non vanno elaborate prime tutte le soluzioni, per poi rileggerle e verificarle, ma il contrario.
Ovvero, tra tutte le combinazioni prendi solo e solamente quelle che rispondono alle "limitazioni" che intendi creare.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.