Condividi:        

Calcolo combinazioni

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Calcolo combinazioni

Postdi dayday » 30/08/11 19:20

Ciao Grande Flash,
847milioni sono le colonne di 40 partite in combinazioni da 30: è su queste combinazioni che bisognerebbe applicare le riduzioni N-5 N-6 N-7 N-8 N-9 ecc ecc.
Nel programma che ti ho inviato vedrai che si possono calcolare tutte le combinazioni fino a 100 numeri, però integralmente....... Purtroppo le riduzioni....... ahimè!!! :( :( :(
A più tardi, e vista l'ora buon appetito!!! :D
dayday
Utente Junior
 
Post: 35
Iscritto il: 19/08/11 01:41

Sponsor
 

Re: Calcolo combinazioni

Postdi Flash30005 » 30/08/11 20:25

E
dayday ha scritto:Quel 40,25,8 deve diventare 40(n), 30(k), 35(t)

quel 35(t) cosa significa?

Che correttamente sarebbe 40(n), 35(k), 30(t)

Un consiglio:
chiarisci con te stesso cosa vorresti avere poi accertati che è veramente quello che vuoi
rifletti ancora un po', quando sei veramente convinto di quello che vorresti avere,
potrai pubblicarlo in questo Forum

Sai perché? anche in quest'ultimo tuo post è poco chiaro
dici
dayday ha scritto:...847milioni sono le colonne di 40 partite in combinazioni da 30: è su queste combinazioni che bisognerebbe applicare le riduzioni N-5 N-6 N-7 N-8 N-9 ecc ecc.

N9..etc etc a a N-10 torni alla solita e unica colonna, Pensaci!!! :aaah

dayday ha scritto:Nel programma che ti ho inviato vedrai che si possono CALCOLARE tutte le combinazioni fino a 100 numeri...

Il tuo file non è scaricabile ancora, se puoi invialo di nuovo usando Filedropper magari
Ma ancora non mi rispondi alla domanda:
Il programma calcola o crea lo sviluppo integrale?

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo combinazioni

Postdi dayday » 30/08/11 21:00

dayday
Utente Junior
 
Post: 35
Iscritto il: 19/08/11 01:41

Re: Calcolo combinazioni

Postdi Flash30005 » 30/08/11 22:19

Ehm
Mi risultano 3.628.800 di colonne
Ripeto la formula per il calcolo delle combinazioni in questo caso è:
40! / (30!*10!)

Come mai tu ti ritrovi con 847 milioni di colonne?
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo combinazioni

Postdi dayday » 30/08/11 22:25

Perchè posso solo calcolarlo integralmente. :eeh:
dayday
Utente Junior
 
Post: 35
Iscritto il: 19/08/11 01:41

Re: Calcolo combinazioni

Postdi dayday » 30/08/11 22:31

Scusami, ma la formula che hai scritto sarebbe l'equivalente di N-10? :-?
dayday
Utente Junior
 
Post: 35
Iscritto il: 19/08/11 01:41

Re: Calcolo combinazioni

Postdi Flash30005 » 30/08/11 22:33

No, il calcolo delle combinazioni del sistema integrale
di un insieme di 40 numeri
in gruppi da 30
Per aver la certezza prova ad applicarla al superenalotto
90 numeri in sestina genera
622.614.630 colonne
90! / (84!*6!)
(84 è l'insieme dei numeri meno i numeri per gruppo)
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo combinazioni

Postdi Flash30005 » 30/08/11 23:00

Aggiungo al post precedente
Questa macro che ti permette di calcolare le colonne di un sistema integrale
In A1 e B1 metti una testata Es.: A1 Insieme dei Numeri, in B1 Gruppi
Poi da A2 a A41 scrivi da 1 a 40
In B2 scrivi 30
avvia la macro
Codice: Seleziona tutto
Sub CalcolaCombinazioni()
Dim i As Long

URN = Range("A" & Rows.Count).End(xlUp).Row - 1
NS = Range("B2").Value

ColonneNt = 1
For i = 1 To URN
ColonneNt = ColonneNt * i
Next i
ColonneNG = 1
For g = 1 To URN - NS
ColonneNG = ColonneNG * g
Next g
ColonneNGE = 1
For e = 1 To NS
ColonneNGE = ColonneNGE * e
Next e
colonne = (ColonneNt / ColonneNG) / ColonneNGE
MsgBox "Sviluppo Integrale N. " & colonne & " Colonne"
End Sub
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo combinazioni

Postdi dayday » 30/08/11 23:00

Tutto quello che posso dirti è che usando il programma in excel che ti ho inviato mi da quel risultato.
Purtroppo di formule ci capisco meno di nulla, ma mi stò sforzando per capire.
Riguardando le tue formule, non dovrebbe essere così?
40! / (10!*30!) anzichè 40! / (30!*10!).
Spero di aver scritto una cosa sensata.
dayday
Utente Junior
 
Post: 35
Iscritto il: 19/08/11 01:41

Re: Calcolo combinazioni

Postdi Flash30005 » 30/08/11 23:04

Tra quello che affermi e "l'anziché" non noto differenza
ambedue le formule danno lo stesso risultato come dà lo stesso risultato questa formula
40! / 30! /10!
o 40! /10! / 30! (l'anziché) :D
Ciao

P.s.: Leggi il mio post precedente con macro, ci siamo quasi accavallati con i messaggi
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo combinazioni

Postdi dayday » 31/08/11 00:10

Scusa, hai dato uno sguardo al file che ti ho inviato?
Con il mio riuscivo a visualizzare le colonne, mentre in questo modo le calcola solamente. :cry:

Riciao.
dayday
Utente Junior
 
Post: 35
Iscritto il: 19/08/11 01:41

Re: Calcolo combinazioni

Postdi Flash30005 » 31/08/11 00:22

Si ma ho il pc in elaborazione e non posso entrare nei meandri del calcolo

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo combinazioni

Postdi dayday » 31/08/11 00:28

Per questo motivo sono alla ricerca disperata delle riduzioni: riducendo di un punto alla volta N-1 N-2 N-3 e così via, troverò il numero di combinazioni che mi interessano (sempre che si riesca a visualizzarle).

Ciao
dayday
Utente Junior
 
Post: 35
Iscritto il: 19/08/11 01:41

Re: Calcolo combinazioni

Postdi Flash30005 » 31/08/11 01:00

Allora... la calcolatrice utilizzata per il calcolo delle combinazioni molto probabilmente è andata in overflow
perché se fai girare la macro che ho postato
fornisce effettivamente 847 milioni di colonne
Sto creando il file txt delle combinazioni ma la vedo dura perché è come prevedevo all'inizio per 847 milioni di colonne un file di diversi GigaByte
sul quale poi una seconda macro dovrà prelevare le colonne con N-5 etc
La macro l'ho realizzata ed è perfetta
ma temo che i tempi siano talmente lunghi da far rinunciare chiunque.
Quindi occorrerebbero degli algoritmi tali che vengano scritte solo le colonne durante lo sviluppo per evitare il doppio passaggio, ma dovrò pensarci su... il tempo non è mai sufficiente :cry:


Ma mi spieghi una cosa?
Quel programma che ancora non utilizzo per la tua esigenza, ti sviluppa 847 milioni di righe sul foglio di excel?
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo combinazioni

Postdi Flash30005 » 31/08/11 01:30

Aggiungo al post precedente che puoi apportare le modifiche alla function nel modulo
sostituendola con questa
Codice: Seleziona tutto
Public col(100), r, n, nr As Long
Function comb(k)
Close #1
Open "C:\SvilIntegr.txt" For Append As #1
col(k) = col(k - 1)
While col(k) < n - r + k

col(k) = col(k) + 1
If k < r Then
comb (k + 1)
Else
nr = nr + 1
For I = 1 To r
If I = 1 Then
AggR = col(I)
Else
AggR = AggR & "," & col(I)
End If
Next
Print #1, AggR
End If

Wend

Close #1
End Function


Otterrai il file SvilIntegr.txt sulla root di C:\
Il tutto in minor tempo e senza blocchi di excel

Ciao

P.s. la macro era errata perché alcune variabili erano dichiarate integer e quindi il processo andava in overflaw
ora non dovrebbe accadere
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo combinazioni

Postdi dayday » 31/08/11 02:01

Innanzi tutto, non sò come ringraziarti per quello che stai facendo (mi sembra dovuto) e per tutto il tempo che stai dedicando (perdendo) dietro a questo programmaccio che ti ho chiesto.
Dire che sei spaziale mi sembra riduttivo: non voglio eccedere nei complimenti ma una cosa è certa........ alla faccia degli amici che ti promettono mari e monti e dopo più di un anno trovo la soluzione in rete.
Almeno uno è stato gagliardo; mi ha consigliato il forum giusto. Mi aveva detto che qui trovavo gente seria, capace e professionista o professionale come dir si voglia.
Non immagini che piacere mi ha fatto in questi giorni scrivere nel forum..........
Comunque, tornando a excel ovviamente si blocca ad un certo numero di righe, ma questo non dovrebbe più accadere con le riduzioni (o sbaglio)?
L'altra esigenza era la possibilità di avere le combinazioni in verticale (anzichè) :lol: in orizzontale.
Per adesso devo cercare di far funzionare le sacre scritture che mi hai scritto, poi si vedrà ;) ;) ;) ;).
Ancora mille grazie. (mi metto subito al lavoro, che per me sarà infernale).

Ciao ciao
dayday
Utente Junior
 
Post: 35
Iscritto il: 19/08/11 01:41

Re: Calcolo combinazioni

Postdi Flash30005 » 31/08/11 02:10

Ho ottimizzato la macro del programma che mi hai inviato
quindi fai una copia di quel file
nella copia entri nel modulo1 (riesci ad entrare se crei una macro fittizia)
sostituisci quella funzione e il public in alto al modulo con questo codice
Codice: Seleziona tutto
Public col(100), r, n, nr As Long, Passo As Integer
Function comb(k)
If Passo = 0 Then
    Close #1
    Kill "C:\SvilIntegr.txt"
    Open "C:\SvilIntegr.txt" For Append As #1
    Passo = 1
End If
col(k) = col(k - 1)
While col(k) < n - r + k
    col(k) = col(k) + 1
    If k < r Then
        comb (k + 1)
    Else
        nr = nr + 1
    For I = 1 To r
        If I = 1 Then
            AggR = col(I)
        Else
            AggR = AggR & "," & col(I)
        End If
    Next
    Print #1, AggR
    End If
Wend
End Function


Poi vai nel Vba del Foglio1
e sostituisci il codice con questo
Codice: Seleziona tutto
Private Sub CommandButton1_Click()
'Foglio1.Range("a4:o20000").ClearContents
nr = 3
k = 1
r = Cells(2, 2)
n = Cells(1, 2)
Passo = 0
comb (k)
Close #1
End Sub


Ora è molto più veloce ;)
Avrai le tue colonne integrali nel file testo nella root di c:\

Per la riduzione c'è da studiare un po' per i motivi che ti dicevo prima

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo combinazioni

Postdi dayday » 31/08/11 02:15

Senza parole!!!!!!!!
Un mostro!!!!!

Ciao
dayday
Utente Junior
 
Post: 35
Iscritto il: 19/08/11 01:41

Re: Calcolo combinazioni

Postdi Flash30005 » 31/08/11 02:41

Piccole correzioni

Prima di questa riga di codice
Codice: Seleziona tutto
    Kill "C:\SvilIntegr.txt"

è opportuno inserire un resume error così
Codice: Seleziona tutto
On error resume next
    Kill "C:\SvilIntegr.txt"
On error goto 0

In quanto la prima volta non trova il file (poi non succede più)
inoltre il file originale pesava circa 3 Mb quando in effetti non ci sono alcuni dati ma il file si è "appensantito"
(questa è una cosa che non capirò mai di Excel)
a questo punto
prendi un nuovo foglio
incollaci l'inero modulo (trascinandolo da VBa dal file "vecchio" a nuovo file)
Copia, inoltre, tutto il codice Vba del foglio1 nel Vba del foglio1 nuova cartella
copia solo le celle da A1 a B2 del foglio1 al nuovo foglio1
Infine copia il pulsante (devi andare in modalità progettazione), lo selezioni tasto destro mouse e lo incolli nel nuovo foglio
Salvi il nuovo file e ti accorgerai che pesa meno di 30 Kb.

Fai delle prove con un range di numeri 15 (N) suddiviso in sestine (K = 6)
Ti troverai in un baleno 5005 "colonne" (righe) nel file testo

Ciao

P.s. parlo di "colonne" di sviluppo quando parlo di sistemi
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo combinazioni

Postdi dayday » 31/08/11 02:44

I N C R E D I B I L E !!!!!
Voglio gridarlo (concedetemelo)!
dayday
Utente Junior
 
Post: 35
Iscritto il: 19/08/11 01:41

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Calcolo combinazioni":


Chi c’è in linea

Visitano il forum: Nessuno e 78 ospiti