Quesito matematico...

idocomputer
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
:D

Risposte
idocomputer
"signor.nessuno":
Forma esplicita (salvo i soliti abbagli :lol:):
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

signor.nessuno1

signor.nessuno1

ciclico
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: :lol: :lol:

Ciao

Nidhogg
Confermo la correttezza della formula di signor.nessuno.

signor.nessuno1

Nidhogg
Grazie per i complimenti! E' davvero forte questo avatar!

idocomputer
"leonardo":
E' vero! Non è una formula, è un algoritmo!


grazie ancora e complimenti per il tuo avatar! :D

Nidhogg
E' vero! Non è una formula, è un algoritmo!

idocomputer
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

:oops: :oops: :oops:
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
:D :D :D

Nidhogg
Esattamente signor.nessuno! La formula è proprio quella.

signor.nessuno1

idocomputer
"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

Nidhogg
Voglio precisare che l'ordine di generazione di sequenze combinatorie che idocomputer ha utilizzato è quello classico e viene denotato come ordine lessicografico crescente.

Nidhogg
Ok. Determinato il modo di scrivere le combinazioni, che applicazione ha o dovrebbe avere questa formula? Che utilità possiede?

idocomputer
"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...

Nidhogg
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.

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