Discussione:
combinazioni di 5 numeri
(troppo vecchio per rispondere)
draleo
2024-05-10 17:38:57 UTC
Permalink
Dovrei scrivere tutte le Combinazioni possibili di 5 numeri ,ognuno dei
quali può essere 1 oppure 0

0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
0 0 0 0 ecc ecc

Queste combinazioni dovrebbero essere scritte in orizzontale sulla riga
1 (da B1,C1, D1, E1 ecc ecc)
E dovrebbero essere in formato testo
00000,1000,01000,00100,00010,00001,11000 ecc ecc
Potrei farlo a mano, ma impiegherei mezza giornata(ammesso di riuscirci
senza errori). Inoltre questa è solo la prima parte del problema.
Se lo risolvo avrò ancora bisogno di aiuto
Grazie
draleo
Bruno Campanini
2024-05-10 21:45:29 UTC
Permalink
Dovrei scrivere tutte le Combinazioni possibili di 5 numeri ,ognuno dei quali
può essere 1 oppure 0
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
0 0 0 0 ecc ecc
Queste combinazioni dovrebbero essere scritte in orizzontale sulla riga 1
(da B1,C1, D1, E1 ecc ecc)
E dovrebbero essere in formato testo
00000,1000,01000,00100,00010,00001,11000 ecc ecc
Potrei farlo a mano, ma impiegherei mezza giornata(ammesso di riuscirci senza
errori). Inoltre questa è solo la prima parte del problema.
Se lo risolvo avrò ancora bisogno di aiuto
Grazie
draleo
Non sono combinazioni, sono permutazioni di 5 elementi
con un numero di elementi, da due a 5, uguali fra di loro.
In totale sono 32
00000! = 1
10000! = 5
11000! = 10
11100! = 10
11110! = 5
11111! = 1

" ! " è il simbolo di fattoriale dove, ad esempio,
5! = 5x4x3x2x1 = 120

Bruno
Bruno Campanini
2024-05-10 21:49:40 UTC
Permalink
Post by Bruno Campanini
Post by draleo
Dovrei scrivere tutte le Combinazioni possibili di 5 numeri ,ognuno dei
quali può essere 1 oppure 0
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
0 0 0 0 ecc ecc
Queste combinazioni dovrebbero essere scritte in orizzontale sulla riga 1
(da B1,C1, D1, E1 ecc ecc)
E dovrebbero essere in formato testo
00000,1000,01000,00100,00010,00001,11000 ecc ecc
Potrei farlo a mano, ma impiegherei mezza giornata(ammesso di riuscirci
senza errori). Inoltre questa è solo la prima parte del problema.
Se lo risolvo avrò ancora bisogno di aiuto
Grazie
draleo
Non sono combinazioni, sono permutazioni di 5 elementi
con un numero di elementi, da due a 5, uguali fra di loro.
In totale sono 32
00000! = 1
10000! = 5
11000! = 10
11100! = 10
11110! = 5
11111! = 1
" ! " è il simbolo di fattoriale dove, ad esempio,
5! = 5x4x3x2x1 = 120
Bruno
Appena spedito... mi è venuto un dubbio!

bruno
Zipper
2024-05-11 08:39:28 UTC
Permalink
Post by Bruno Campanini
Appena spedito... mi è venuto un dubbio!
appunto...
32 sono le comb(5;1) + comb(5;2) + comb(5;3) + comb(5;4) + comb(5;5)
il quale totale di combinazioni appartiene all'insieme delle 5! = 120
permutazioni
--
Zipper
Bruno Campanini
2024-05-11 09:04:20 UTC
Permalink
Post by Zipper
Post by Bruno Campanini
Appena spedito... mi è venuto un dubbio!
appunto...
Dubbio dissipato subito dopo!
Post by Zipper
32 sono le comb(5;1) + comb(5;2) + comb(5;3) + comb(5;4) + comb(5;5)
il quale totale di combinazioni appartiene all'insieme delle 5! = 120
permutazioni
Stai commettendo un grossolano errore di nomenclatura.

Bruno
Zipper
2024-05-11 09:19:51 UTC
Permalink
Post by Bruno Campanini
Post by Zipper
Post by Bruno Campanini
Appena spedito... mi è venuto un dubbio!
appunto...
Dubbio dissipato subito dopo!
Post by Zipper
32 sono le comb(5;1) + comb(5;2) + comb(5;3) + comb(5;4) + comb(5;5)
il quale totale di combinazioni appartiene all'insieme delle 5! = 120
permutazioni
Stai commettendo un grossolano errore di nomenclatura.
infatti volevo correggermi in qualche modo pure io, ma già che dici così,
cerca di spiegarti bene
--
Zipper
Zipper
2024-05-11 09:26:44 UTC
Permalink
Post by Zipper
Post by Bruno Campanini
Post by Zipper
Post by Bruno Campanini
Appena spedito... mi è venuto un dubbio!
appunto...
Dubbio dissipato subito dopo!
Post by Zipper
32 sono le comb(5;1) + comb(5;2) + comb(5;3) + comb(5;4) + comb(5;5)
il quale totale di combinazioni appartiene all'insieme delle 5! = 120
permutazioni
Stai commettendo un grossolano errore di nomenclatura.
infatti volevo correggermi in qualche modo pure io, ma già che dici così,
cerca di spiegarti bene
l'OP, al di là di come si è espresso, ha scritto

"00000,1000,01000,00100,00010,00001,11000 ecc ecc"

questo denota che vuole le combinazioni di 5(;1;2;3;4;5) la cui somma è 32,
come hai scritto anche tu.
magari lasciamo perdere le permutazioni
--
Zipper
Zipper
2024-05-11 09:29:42 UTC
Permalink
Post by Zipper
l'OP, al di là di come si è espresso, ha scritto
"00000,1000,01000,00100,00010,00001,11000 ecc ecc"
questo denota che vuole le combinazioni di 5(;1;2;3;4;5) la cui somma è 32,
come hai scritto anche tu.
magari lasciamo perdere le permutazioni
combinazioni(5(;0;1;2;3;4;5))
--
Zipper
Bruno Campanini
2024-05-11 09:58:27 UTC
Permalink
Post by Zipper
Post by Bruno Campanini
Post by Zipper
Post by Bruno Campanini
Appena spedito... mi è venuto un dubbio!
appunto...
Dubbio dissipato subito dopo!
Post by Zipper
32 sono le comb(5;1) + comb(5;2) + comb(5;3) + comb(5;4) + comb(5;5)
il quale totale di combinazioni appartiene all'insieme delle 5! = 120
permutazioni
Stai commettendo un grossolano errore di nomenclatura.
infatti volevo correggermi in qualche modo pure io, ma già che dici così,
cerca di spiegarti bene
Semplicemente errore di nomenclatura.
Non esistono permutazioni di 5 elementi formati da
gruppi di 1, 2, 3, 4, 5 elementi (quelli che tu hai
indicato con cmb(5,1)... cmb(5,5) sono combinazioni
il cui numero eguaglia quello delle corrispondenti
permutazioni con ripetizione).

Le permutazioni con ripetizione, per esempio di 6 elementi
di cui due uguali fra di loro e tre uguali fra di loro,
sono 6!/(2!3!1!) = 60 gruppi ciascuno di 6 elementi.
Cosicché 2+3+1 = 6... poi 1! normalmente si omette.

Ki$$ ha stampato correttamente il tutto.
Io ho cercato di ottenere i suoi risultati in VBA
ma per due volte ho abbandonato... non ci sono riusciro.
Ci sarei riuscito con una procedura più lunga e complicata
di quella manuale.

Bruno
Zipper
2024-05-11 10:12:15 UTC
Permalink
Post by Bruno Campanini
Semplicemente errore di nomenclatura.
Non esistono permutazioni di 5 elementi formati da
gruppi di 1, 2, 3, 4, 5 elementi (quelli che tu hai
indicato con cmb(5,1)... cmb(5,5) sono combinazioni
il cui numero eguaglia quello delle corrispondenti
permutazioni con ripetizione).
Le permutazioni con ripetizione, per esempio di 6 elementi
di cui due uguali fra di loro e tre uguali fra di loro,
sono 6!/(2!3!1!) = 60 gruppi ciascuno di 6 elementi.
Cosicché 2+3+1 = 6... poi 1! normalmente si omette.
Ki$$ ha stampato correttamente il tutto.
Io ho cercato di ottenere i suoi risultati in VBA
ma per due volte ho abbandonato... non ci sono riusciro.
Ci sarei riuscito con una procedura più lunga e complicata
di quella manuale.
in genere noto, in giro, che è facile conforndersi nella spiegazione di
comb, perm, disp, con e senza rip, per cui saltiamo le spiegazioni, che mi
rileggerò a parte, e dimmi:
quale elenco-sviluppo completo vuole l'OP ?
e se qui c'è spazio potresti elencarlo in toto ?
grazie
--
Zipper
Bruno Campanini
2024-05-11 14:26:38 UTC
Permalink
Post by Zipper
Post by Bruno Campanini
Semplicemente errore di nomenclatura.
Non esistono permutazioni di 5 elementi formati da
gruppi di 1, 2, 3, 4, 5 elementi (quelli che tu hai
indicato con cmb(5,1)... cmb(5,5) sono combinazioni
il cui numero eguaglia quello delle corrispondenti
permutazioni con ripetizione).
Le permutazioni con ripetizione, per esempio di 6 elementi
di cui due uguali fra di loro e tre uguali fra di loro,
sono 6!/(2!3!1!) = 60 gruppi ciascuno di 6 elementi.
Cosicché 2+3+1 = 6... poi 1! normalmente si omette.
Ki$$ ha stampato correttamente il tutto.
Io ho cercato di ottenere i suoi risultati in VBA
ma per due volte ho abbandonato... non ci sono riusciro.
Ci sarei riuscito con una procedura più lunga e complicata
di quella manuale.
in genere noto, in giro, che è facile conforndersi nella spiegazione di
comb, perm, disp, con e senza rip, per cui saltiamo le spiegazioni, che mi
quale elenco-sviluppo completo vuole l'OP ?
e se qui c'è spazio potresti elencarlo in toto ?
grazie
Vorrei saperti rispondere ma non posso.
Conosco dello scritto dell'OP quello che il medesimo
ha richiesto: le permutazioni di 5 elementi nei
casi di 2, 3, 4, 5 duplicazioni.
Staremo a vedere se vi sarà un seguito.

Bruno
draleo
2024-05-11 21:34:37 UTC
Permalink
Post by Bruno Campanini
Il giorno 11/05/2024 alle ore 11:58:27 Bruno Campanini
Post by Bruno Campanini
Semplicemente errore di nomenclatura.
Non esistono permutazioni di 5 elementi formati da
gruppi di 1, 2, 3, 4, 5 elementi (quelli che tu hai
indicato con cmb(5,1)... cmb(5,5) sono combinazioni
il cui numero eguaglia quello delle corrispondenti
permutazioni con ripetizione).
Le permutazioni con ripetizione, per esempio di 6 elementi
di cui due uguali fra di loro e tre uguali fra di loro,
sono 6!/(2!3!1!) = 60 gruppi ciascuno di 6 elementi.
Cosicché 2+3+1 = 6... poi 1! normalmente si omette.
Ki$$ ha stampato correttamente il tutto.
Io ho cercato di ottenere i suoi risultati in VBA
ma per due volte ho abbandonato... non ci sono riusciro.
Ci sarei riuscito con una procedura più lunga e complicata
di quella manuale.
in genere noto, in giro, che è facile conforndersi nella spiegazione di
comb, perm, disp, con e senza rip, per cui saltiamo le spiegazioni, che mi
quale elenco-sviluppo completo vuole l'OP ?
e se qui c'è spazio potresti elencarlo in toto ?
grazie
Vorrei saperti rispondere ma non posso.
Conosco dello scritto dell'OP quello che il medesimo
ha richiesto: le permutazioni di 5 elementi nei
casi di 2, 3, 4, 5 duplicazioni.
Staremo a vedere se vi sarà un seguito.
Bruno
le mie nozioni di matematica risalgono a più di 50 anni fa, ai tempi del
liceo scientifico, e sono abbastanza scarse. Quindi non so la differenza
tra combinazioni e permutazioni. Però quel poco di matematica che mi è
rimasta mi dice che il num delle combinazioni (permutazioni ?) richieste
dovrebbe essere 2^5. Inoltre, rubando a dx e sin, da quello che avete
scritto voi, le ho scritte manualmente, e credo vadano bene (vi
risparmio la lunga lista)
draleo
Bruno Campanini
2024-05-11 22:50:19 UTC
Permalink
Post by draleo
Post by Bruno Campanini
Il giorno 11/05/2024 alle ore 11:58:27 Bruno Campanini
Post by Bruno Campanini
Semplicemente errore di nomenclatura.
Non esistono permutazioni di 5 elementi formati da
gruppi di 1, 2, 3, 4, 5 elementi (quelli che tu hai
indicato con cmb(5,1)... cmb(5,5) sono combinazioni
il cui numero eguaglia quello delle corrispondenti
permutazioni con ripetizione).
Le permutazioni con ripetizione, per esempio di 6 elementi
di cui due uguali fra di loro e tre uguali fra di loro,
sono 6!/(2!3!1!) = 60 gruppi ciascuno di 6 elementi.
Cosicché 2+3+1 = 6... poi 1! normalmente si omette.
Ki$$ ha stampato correttamente il tutto.
Io ho cercato di ottenere i suoi risultati in VBA
ma per due volte ho abbandonato... non ci sono riusciro.
Ci sarei riuscito con una procedura più lunga e complicata
di quella manuale.
in genere noto, in giro, che è facile conforndersi nella spiegazione di
comb, perm, disp, con e senza rip, per cui saltiamo le spiegazioni, che mi
quale elenco-sviluppo completo vuole l'OP ?
e se qui c'è spazio potresti elencarlo in toto ?
grazie
Vorrei saperti rispondere ma non posso.
Conosco dello scritto dell'OP quello che il medesimo
ha richiesto: le permutazioni di 5 elementi nei
casi di 2, 3, 4, 5 duplicazioni.
Staremo a vedere se vi sarà un seguito.
Bruno
le mie nozioni di matematica risalgono a più di 50 anni fa, ai tempi del
liceo scientifico, e sono abbastanza scarse. Quindi non so la differenza tra
combinazioni e permutazioni. Però quel poco di matematica che mi è rimasta mi
dice che il num delle combinazioni (permutazioni ?) richieste dovrebbe
essere 2^5. Inoltre, rubando a dx e sin, da quello che avete scritto voi, le
ho scritte manualmente, e credo vadano bene (vi risparmio la lunga lista)
draleo
Se sono simili a quelle esposte da Ki$$, sono esatte.
Ho tentato due volte fi farne una routine VBA ma non ci sono
riuscito: il calcolo combinatorio l'ho sempre mal digerito.
Ma ho trovato questa in Internet che funziona a dovere.
Vi ho apportato alcune piccolissime modifiche come la stampa, etc.
Se vuoi stampare Destr-Sinistra anziché Alto-Basso, modifica
la terz'ultima riga in R(1, k) = sOutput

Eccola qua:
===============================
Public Sub MakePerms()

Dim i As Long, j As Long, n As Long, aPerms() As Byte
Dim lCnt As Long, sOutput As String, R As Range, k As Long
Const lVar As Long = 4

Set R = [Sheet1!S1] ' Destination
' Genera le seguenti 2^lVar = 16 Permutazioni:
' 0 0 0 0
' 0 0 0 1
' 0 0 1 0
' 0 0 1 1
' 0 1 0 0
' 0 1 0 1
' 0 1 1 0
' 0 1 1 1
' 1 0 0 0
' 1 0 0 1
' 1 0 1 0
' 1 0 1 1
' 1 1 0 0
' 1 1 0 1
' 1 1 1 0
' 1 1 1 1
'
ReDim aPerms(1 To 2 ^ lVar, 1 To lVar)
For i = 0 To UBound(aPerms, 1) - 1
n = i
lCnt = lVar
aPerms(i + 1, lCnt) = CByte(n Mod 2)
n = n \ 2
Do While n > 0
lCnt = lCnt - 1
aPerms(i + 1, lCnt) = CByte(n Mod 2)
n = n \ 2
Loop
Next i

For i = LBound(aPerms, 1) To UBound(aPerms, 1)
sOutput = vbNullString
For j = LBound(aPerms, 2) To UBound(aPerms, 2)
sOutput = sOutput & Space(1) & aPerms(i, j)
Next j
'Debug.Print sOutput
k = k + 1
R(k) = sOutput
Next i

End Sub
===========================================

Bruno
Ki$$
2024-05-11 05:45:08 UTC
Permalink
Dovrei scrivere tutte le Combinazioni possibili di 5 numeri ,ognuno dei quali
può essere 1 oppure 0
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
0 0 0 0 ecc ecc
Queste combinazioni dovrebbero essere scritte in orizzontale sulla riga 1
(da B1,C1, D1, E1 ecc ecc)
E dovrebbero essere in formato testo
00000,1000,01000,00100,00010,00001,11000 ecc ecc
Potrei farlo a mano, ma impiegherei mezza giornata(ammesso di riuscirci senza
errori). Inoltre questa è solo la prima parte del problema.
Se lo risolvo avrò ancora bisogno di aiuto
Grazie
draleo
basta che sotituisci H con 1 e L con 0

LLLLL 5
LLLLH 5
LLLHL 5
LLHLL 5
LHLLL 5
HLLLL 5
LLLHH 5
LLHLH 5
LLHHL 5
LHLLH 5
LHLHL 5
LHHLL 5
HLLLH 5
HLLHL 5
HLHLL 5
HHLLL 5
LLHHH 5
LHLHH 5
LHHLH 5
LHHHL 5
HLLHH 5
HLHLH 5
HLHHL 5
HHLLH 5
HHLHL 5
HHHLL 5
LHHHH 5
HLHHH 5
HHLHH 5
HHHLH 5
HHHHL 5
HHHHH 5

LLLL 4
LLLH 4
LLHL 4
LHLL 4
HLLL 4
LLHH 4
LHLH 4
LHHL 4
HLLH 4
HLHL 4
HHLL 4
LHHH 4
HLHH 4
HHLH 4
HHHL 4
HHHH 4

LLL 3
LLH 3
LHL 3
HLL 3
LHH 3
HLH 3
HHL 3
HHH 3

LL 2
LH 2
HL 2
HH 2
--
Ki$$
draleo
2024-05-11 07:10:03 UTC
Permalink
Post by draleo
Dovrei scrivere tutte le Combinazioni possibili di 5 numeri ,ognuno dei
quali può essere 1 oppure 0
0    1    0    0
0    0    1    0
0    0    0    1
0    0    0    0
0    0    0    0        ecc ecc
Queste combinazioni dovrebbero essere scritte in orizzontale  sulla riga
1 (da B1,C1, D1, E1 ecc ecc)
E dovrebbero essere  in formato testo
00000,1000,01000,00100,00010,00001,11000 ecc ecc
Potrei farlo a mano, ma impiegherei mezza giornata(ammesso di riuscirci
senza errori). Inoltre questa è solo la prima parte del problema.
Se lo risolvo avrò ancora bisogno di aiuto
Grazie
Ok. Grazie ad entrambi. Al momento ho risolto
draleo
Bruno Campanini
2024-05-12 14:31:09 UTC
Permalink
Dovrei scrivere tutte le Combinazioni possibili di 5 numeri ,ognuno dei quali
può essere 1 oppure 0
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
0 0 0 0 ecc ecc
Queste combinazioni dovrebbero essere scritte in orizzontale sulla riga 1
(da B1,C1, D1, E1 ecc ecc)
E dovrebbero essere in formato testo
00000,1000,01000,00100,00010,00001,11000 ecc ecc
Potrei farlo a mano, ma impiegherei mezza giornata(ammesso di riuscirci senza
errori). Inoltre questa è solo la prima parte del problema.
Se lo risolvo avrò ancora bisogno di aiuto
Grazie
draleo
Ripensandoci...
===========================
Public Sub DecToBin()
Dim i, R As Range, n As Integer, S As String

Set R = [Sheet1!U1]
n = 3
For i = 0 To 2 ^ n - 1
R(1, i + 1) = Application.Base(i, 2)
Next

For i = 1 To n
S = S & "0"
Next
Range(R, R.End(xlToRight)).NumberFormat = S

End Sub
============================

Bruno
draleo
2024-05-12 14:53:28 UTC
Permalink
Post by Bruno Campanini
Post by draleo
Dovrei scrivere tutte le Combinazioni possibili di 5 numeri ,ognuno
dei quali può essere 1 oppure 0
0    1    0    0
0    0    1    0
0    0    0    1
0    0    0    0
0    0    0    0        ecc ecc
Queste combinazioni dovrebbero essere scritte in orizzontale  sulla
riga 1 (da B1,C1, D1, E1 ecc ecc)
E dovrebbero essere  in formato testo
00000,1000,01000,00100,00010,00001,11000 ecc ecc
Potrei farlo a mano, ma impiegherei mezza giornata(ammesso di
riuscirci senza errori). Inoltre questa è solo la prima parte del
problema.
Se lo risolvo avrò ancora bisogno di aiuto
Grazie
draleo
Ripensandoci...
===========================
Public Sub DecToBin()
Dim i, R As Range, n As Integer, S As String
Set R = [Sheet1!U1]
n = 3
For i = 0 To 2 ^ n - 1
   R(1, i + 1) = Application.Base(i, 2)
Next
For i = 1 To n
   S = S & "0"
Next
Range(R, R.End(xlToRight)).NumberFormat = S
End Sub
============================
Bruno
Ottimo. con questa ho sviluppato 128 permutazioni (2^7). Poi mi sono
fermato,perchè non me ne servono di più. Ma credo si possano aumentare
ancora
Grazie
draleo
Bruno Campanini
2024-05-12 15:03:05 UTC
Permalink
Post by draleo
Post by Bruno Campanini
Post by draleo
Dovrei scrivere tutte le Combinazioni possibili di 5 numeri ,ognuno dei
quali può essere 1 oppure 0
0    1    0    0
0    0    1    0
0    0    0    1
0    0    0    0
0    0    0    0        ecc ecc
Queste combinazioni dovrebbero essere scritte in orizzontale  sulla riga 1
(da B1,C1, D1, E1 ecc ecc)
E dovrebbero essere  in formato testo
00000,1000,01000,00100,00010,00001,11000 ecc ecc
Potrei farlo a mano, ma impiegherei mezza giornata(ammesso di riuscirci
senza errori). Inoltre questa è solo la prima parte del problema.
Se lo risolvo avrò ancora bisogno di aiuto
Grazie
draleo
Ripensandoci...
===========================
Public Sub DecToBin()
Dim i, R As Range, n As Integer, S As String
Set R = [Sheet1!U1]
n = 3
For i = 0 To 2 ^ n - 1
   R(1, i + 1) = Application.Base(i, 2)
Next
For i = 1 To n
   S = S & "0"
Next
Range(R, R.End(xlToRight)).NumberFormat = S
End Sub
============================
Bruno
Ottimo. con questa ho sviluppato 128 permutazioni (2^7). Poi mi sono
fermato,perchè non me ne servono di più. Ma credo si possano aumentare ancora
Grazie
draleo
Mi pare di ricordare (si può ben verificare) che
la funzione Base() ne gestisca fino a 512 (2^9).

Bruno

Loading...