Quesito matematico...
ciao a tutti ,sono nuovo e ho bisogno di aiuto ,
io mi diletto con la programmazione su pc , mac , faccio dei programmini come hobby,
adesso ho questo problema:
ho n elementi disposti a k a k senza ripetizioni
quindi ottengo che il numeto di 'combinazioni' sono = n*(n-1)...(n-(k-1)) il tutto diviso k! per esempio
se n= 10 e k = 2 avrò 10*9 /2 = 45
supponendo che ogni combinazione venga numerata da 1 a 45
ed ognunsa sia composta dai due membri avrò un elenco di questo tipo:
combinazione n° elemento 1 elemento 2
1 1 2
2 1 3
3 1 4
.... .... ....
9 1 10
10 2 3
11 2 4
12 2 5
.... .. .. ....
45 9 10
la mia domanda è questa:
avendo l'elemeto 1 e l'elemento 2
come posso trovare il numero della suddetta 'combinazione' con una formula matematica?
grazie anticipatamente a tutti
io mi diletto con la programmazione su pc , mac , faccio dei programmini come hobby,
adesso ho questo problema:
ho n elementi disposti a k a k senza ripetizioni
quindi ottengo che il numeto di 'combinazioni' sono = n*(n-1)...(n-(k-1)) il tutto diviso k! per esempio
se n= 10 e k = 2 avrò 10*9 /2 = 45
supponendo che ogni combinazione venga numerata da 1 a 45
ed ognunsa sia composta dai due membri avrò un elenco di questo tipo:
combinazione n° elemento 1 elemento 2
1 1 2
2 1 3
3 1 4
.... .... ....
9 1 10
10 2 3
11 2 4
12 2 5
.... .. .. ....
45 9 10
la mia domanda è questa:
avendo l'elemeto 1 e l'elemento 2
come posso trovare il numero della suddetta 'combinazione' con una formula matematica?
grazie anticipatamente a tutti

Risposte
"signor.nessuno":
Forma esplicita (salvo i soliti abbagli):
I = [((a - 1) * (2 * n - a ) ) / 2] + (b - a)
Bravissimo !!! era prorpio questo che cercavo di ottenere
molte grazie al Signor.Nessuno....grande!
grazie a tutti ed a risentirci al prossimo quesito
ciao


Pongo un quesito pseudomatematico....
La sequenza binaria che scorre nel viso dell'avatar di Leonardo è casuale(magari RANDOM!) o corrisponde a qualche formula o algoritmo? (:lol:
Ciao
La sequenza binaria che scorre nel viso dell'avatar di Leonardo è casuale(magari RANDOM!) o corrisponde a qualche formula o algoritmo? (:lol:


Ciao
Confermo la correttezza della formula di signor.nessuno.

Grazie per i complimenti! E' davvero forte questo avatar!
"leonardo":
E' vero! Non è una formula, è un algoritmo!
grazie ancora e complimenti per il tuo avatar!

E' vero! Non è una formula, è un algoritmo!
scusate ma questo è più o meno lo stesso algoritmo che già stò usando,cioè fatto con basic sarebbe :
If a> b Then c = b: b = a: a = c \\* qui ordino in maniera che a sia prima di b
sf = 0
For ca = n-1 To (n+1 - a) Step -1
sf = sf + ca
Next ca
risultato = b - a + sf
Perdonate la mia ignoranza in matematica, ma io pensavo ci fosse chissà che formula per ottenere il risultato
in un solo calcolo senza dover fare un ciclo
grazie ancora lo stesso a tutti
If a> b Then c = b: b = a: a = c \\* qui ordino in maniera che a sia prima di b
sf = 0
For ca = n-1 To (n+1 - a) Step -1
sf = sf + ca
Next ca
risultato = b - a + sf



Perdonate la mia ignoranza in matematica, ma io pensavo ci fosse chissà che formula per ottenere il risultato
in un solo calcolo senza dover fare un ciclo
grazie ancora lo stesso a tutti



Esattamente signor.nessuno! La formula è proprio quella.

"leonardo":
Ok. Determinato il modo di scrivere le combinazioni, che applicazione ha o dovrebbe avere questa formula? Che utilità possiede?
praticamente mi serve avere una formula per snellire un algoritmo fatto in visual basic che attualmente dati i
2 elementi mi dice il numero della combinazione esatta alla quale sono associati una serie di dati .
i suddetti dati sono associati ad una variabile indicizzata,
ecco l'utilità avere un riscontro da un numero singolo( la combinazione) anzichè da due ....
grazie e ciao
guido
Voglio precisare che l'ordine di generazione di sequenze combinatorie che idocomputer ha utilizzato è quello classico e viene denotato come ordine lessicografico crescente.
Ok. Determinato il modo di scrivere le combinazioni, che applicazione ha o dovrebbe avere questa formula? Che utilità possiede?
"leonardo":
Secondo me una formula che determini univocamente il numero della combinazione sapendo i k elementi, in quanto l'ordine di scrittura di tutte le Cn,k combinazioni non è determinato.
scusa se non sono stato chiaro con l'esempio , ma l'ordine di scrittura è determinato dal fatto che
partendo dall'elemento 1 lo abbini all 'elemento 2 in ordine crescente fino al completamento di tutti i possibili
abbinamenti...
Secondo me una formula che determini univocamente il numero della combinazione sapendo i k elementi, in quanto l'ordine di scrittura di tutte le Cn,k combinazioni non è determinato.