od Goran » 24. 1. 2005 19:21
V podstate jde o to (jestli jsem to dobre pochopil) najit pradi permutace v lexikografickym usporadani. Zde vyuzijes hlavne Faktorialu...
Mas - li napr permutaci na peti prvcich, a dostanes vypsat permutaci napr cislo 56. Udelas to tak, ze vis, ze takovych co zacinaji jednickou je 24 (n-1!) takovych co dvojkou taky atd. Takze vis, ze jestli je tve cislo v prvni dvacetictyrce tak pak zacina jednickou (tzn 56 div 24 ) pak udelas 56 mod 24, to, co ti zbyde tak s tim udelas znova to samy, ale musis z toho vyhodit to cislo cos uz pouzil -> u ty 56 ... div 24 je to 2, ale je to vetsi nez dva tudiz ve treti dvacet ctyrce -> tudiz permutace zacina cislem 3. Vezmes mod -> to ti da 8 -> udelas div n-2! a prictes jenicku -> takze je to druhy prvek z tech co ti zbyvaji.... a tak dale.
Opacny postup je velmi podobny.
V podstate jde o to (jestli jsem to dobre pochopil) najit pradi permutace v lexikografickym usporadani. Zde vyuzijes hlavne Faktorialu...
Mas - li napr permutaci na peti prvcich, a dostanes vypsat permutaci napr cislo 56. Udelas to tak, ze vis, ze takovych co zacinaji jednickou je 24 (n-1!) takovych co dvojkou taky atd. Takze vis, ze jestli je tve cislo v prvni dvacetictyrce tak pak zacina jednickou (tzn 56 div 24 ) pak udelas 56 mod 24, to, co ti zbyde tak s tim udelas znova to samy, ale musis z toho vyhodit to cislo cos uz pouzil -> u ty 56 ... div 24 je to 2, ale je to vetsi nez dva tudiz ve treti dvacet ctyrce -> tudiz permutace zacina cislem 3. Vezmes mod -> to ti da 8 -> udelas div n-2! a prictes jenicku -> takze je to druhy prvek z tech co ti zbyvaji.... a tak dale.
Opacny postup je velmi podobny.