|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2003
Città: Angri - Milano
Messaggi: 358
|
Permutazione
Ciao Ragazzi,
qualcuno mi spiega cos'è la permutazione, io ne ho una vaga idea, ma vorrei se possibile una definizione più precisa. Grazie Zelig.
__________________
Siamo eredi del nostro passato, il futuro è l'unica possibilità di rinascita. XBOXGamerTAG:nightwish78 Dell Studio XPS 16 (1645)-FullHD RGBLed-Intel Core i7 820QM-4GB DDR3-ATI HD 4670 1GB DDR3-HD 320GB 7200 rpm flickr |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Nov 2003
Messaggi: 42
|
e google?
__________________
ANGI |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Sep 2003
Città: Angri - Milano
Messaggi: 358
|
ok grazie mille
ciao Zelig
__________________
Siamo eredi del nostro passato, il futuro è l'unica possibilità di rinascita. XBOXGamerTAG:nightwish78 Dell Studio XPS 16 (1645)-FullHD RGBLed-Intel Core i7 820QM-4GB DDR3-ATI HD 4670 1GB DDR3-HD 320GB 7200 rpm flickr |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: May 2003
Città: Torino
Messaggi: 63
|
Vorrei aggiungere una cosa:
il numero totale di permutazion è uguale al numero di elementi fattoriale diviso i prodotti dei fattoriali delle frequenza di ogni elemento. Sarò più chiaro: le permutazioni della parola "MAMMA" sono 10, cioè 5!/(2!*3!) dove 2 è la frequenza della lettera 'A', 3 della lettera 'M' e 5 il numero di lettere.
__________________
AMD K6 450 MHz, Epox MVP3G2 FSB 100 MHz, 320 MB RAM, HDD IBM 7200 60 GB, VooDoo III (è vecchia ma per diablo II va ancora bene ![]() |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Quote:
![]() Cn,k=n! / ( k! * (n-k)! ) Le permutazioni sono Pn=n! |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
Non parlatemi di permutazioni che nel compito ho preso 5
![]() ![]() |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Dec 2002
Città: Pordenone
Messaggi: 556
|
Ma per caso sei riuscito a fare un programmino che trovi tutte le permutazioni di una parola????
Parlando chiaro, sei riuscito a fare qualcosa che trovi gli anagrammi di una parola??? Ovviamente lasciando perdere il fatto che le parole in output abbiano un significato!!! Per quello penso che si potrebbe fare in modo molto stupido facendo riferimento ad una libreria che contenga un vocabolario! (ovviamente è un metodo poco efficace!) PS: da quello che ho potuto vedere la soluzionen nn è di tipo lineare, quindi è necessatio usare la ricorsione..... ma non sono sicuro :P
__________________
My config-> Cpu: Amd_64 3000MHz; Mobo:Chaintech Znf3 Zenith; Ram:: 1024MB DDR400 Kingston Scheda video: Asus 7600gs; HDD: 2x Segate 80gb with raid1, 1x Maxtor 80gb; Lettori ottici: DVD Plextor px-116A, DVD+RW LG, Monitor: ViewSonic VX900, Stampante OKI C5300. |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: May 2003
Città: Torino
Messaggi: 63
|
Si, io ho fatto un programmino che stampa tutte le permutazioni di una stringa e ho usato la ricorsione. Se ti interessa dimmi che appiccico il codice (se lo trovo nei meandri dell'hard disk...).
__________________
AMD K6 450 MHz, Epox MVP3G2 FSB 100 MHz, 320 MB RAM, HDD IBM 7200 60 GB, VooDoo III (è vecchia ma per diablo II va ancora bene ![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Dec 2002
Città: Pordenone
Messaggi: 556
|
Si grazie
![]() ![]() ![]() ![]() ![]()
__________________
My config-> Cpu: Amd_64 3000MHz; Mobo:Chaintech Znf3 Zenith; Ram:: 1024MB DDR400 Kingston Scheda video: Asus 7600gs; HDD: 2x Segate 80gb with raid1, 1x Maxtor 80gb; Lettori ottici: DVD Plextor px-116A, DVD+RW LG, Monitor: ViewSonic VX900, Stampante OKI C5300. |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Dec 2002
Città: Pordenone
Messaggi: 556
|
Hai trovato qualcosa per caso????
__________________
My config-> Cpu: Amd_64 3000MHz; Mobo:Chaintech Znf3 Zenith; Ram:: 1024MB DDR400 Kingston Scheda video: Asus 7600gs; HDD: 2x Segate 80gb with raid1, 1x Maxtor 80gb; Lettori ottici: DVD Plextor px-116A, DVD+RW LG, Monitor: ViewSonic VX900, Stampante OKI C5300. |
![]() |
![]() |
![]() |
#11 |
Member
Iscritto dal: May 2003
Messaggi: 119
|
Se vuoi io ho qesto ke fa tutti gli anagrammi d 1 parola (variabile globale alfabeto) e li mette in un vettore (variabile globale testo).
Nn e' molto pulito come codice ma funziona. Inoltre nn tiene conto delle lettere ripetute e qindi stampa anke soluzioni ripetute. void aggiungiAlVettore(char * testa, char * coda) { char tmp[100]; int i; sprintf(tmp,"%s%s",testa,coda); if(strlen(tmp)==n){ for(i=0;i<n;++i) testo[pos][n-i-1]=tmp[i]; testo[pos][n]=0; ++pos; } } void Perm(char *v, char * coda) { int n,i,j; char v3[3]; n = strlen(v); if (n ==1){ aggiungiAlVettore(v,coda); return; } if (n == 2) { v3[0]=v[1]; v3[1]=v[0]; v3[2]=0; aggiungiAlVettore(v3,coda); v3[0]=v[0]; v3[1]=v[1]; v3[2]=0; aggiungiAlVettore(v3,coda); } else { for (i=0; i<n; i++) { char v2[100]; for (j=0; j < i; j++) v2[j]=v[j]; for (j=i; j < n-1; j++) v2[j]=v[j+1]; v2[j]=0; char coda2[10],a; char tmp[10]; a=v[i]; for (j=0; j < strlen(coda) ; j++) tmp[j]=coda[j]; tmp[j]=0; sprintf(coda2,"%c%s",a,tmp); Perm(v2,coda2); } } } void anagrammi() { char v[100],coda[1]; int i; for (i=0; i<n; i++) { v[i]=alfabeto[i]; v[i+1]=0; coda[0]=0; Perm(v,coda); } } |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Dec 2002
Città: Pordenone
Messaggi: 556
|
Ciao dopo tanto tempo che mi hai spedito il codice ho deciso di usarlo....
per favore potresti spiegarmi come posso farlo funzionare? Io in pratica devo fare tutte le permutazioni dell'alfabeto, quindi dovrei avere stampati a video 26! "alfabeti" diversi!
__________________
My config-> Cpu: Amd_64 3000MHz; Mobo:Chaintech Znf3 Zenith; Ram:: 1024MB DDR400 Kingston Scheda video: Asus 7600gs; HDD: 2x Segate 80gb with raid1, 1x Maxtor 80gb; Lettori ottici: DVD Plextor px-116A, DVD+RW LG, Monitor: ViewSonic VX900, Stampante OKI C5300. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:57.