Tak jsem byl na praktickem testu z programovani a dostal jsem toto:
Máte k-ciferna cisla, ve kterych se nesmeji opakovat cifry. Jsou lexikograficky usporadane. Napiste procedury, nebo funkce, ktere spocitaji poradi zadaneho cisla a kdyz zadate poradi vypocita prislusne cislo.
Např. 4 ciferna cisla. cislo 1023 je 1. cislo atd.
Cele tri hodiny jsem se snazil prijit na to jak to vubec delat ale nic me nenapadlo, nevite nekdo jak se to ma delat?
k-ciferna cisla ...
-
- Matfyz(ák|ačka) level I
- Příspěvky: 37
- Registrován: 18. 1. 2005 17:38
- Typ studia: Informatika Bc.
- Bydliště: Kolej Otava - Jižní město
- Kontaktovat uživatele:
k-ciferna cisla ...
You can be the best or you can be the rest.
Ten, kdo se vzdává, nikdy nevítězí - a ten kdo vítězí se nikdy nevzdává.
Neříkej světu, co chces udělat, udělej to
Ten, kdo se vzdává, nikdy nevítězí - a ten kdo vítězí se nikdy nevzdává.
Neříkej světu, co chces udělat, udělej to
- Goran
- Admin(ka) level I
- Příspěvky: 214
- Registrován: 23. 9. 2004 09:47
- Typ studia: Informatika Bc.
- Bydliště: HK/Otava
- Kontaktovat uživatele:
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.
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.
- Goran
- Admin(ka) level I
- Příspěvky: 214
- Registrován: 23. 9. 2004 09:47
- Typ studia: Informatika Bc.
- Bydliště: HK/Otava
- Kontaktovat uživatele:
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.
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.
- David Nohejl
- Matfyz(ák|ačka) level III
- Příspěvky: 135
- Registrován: 10. 10. 2004 17:23
- Typ studia: Informatika Bc.
- Bydliště: Praha
- Kontaktovat uživatele:
-
- Matfyz(ák|ačka) level I
- Příspěvky: 5
- Registrován: 28. 1. 2005 16:42
- Typ studia: Informatika Bc.
Re: k-ciferna cisla ...
dobry priklad. ja jsem ho dostal loni a tez jsem s tim nehnul..teda nejak zazracne jsem naprasil program jednim smerem..tj. zadam cislo a on mi ukaze poradi. obracene jsem to nechtel prasit pomoci prasarny a polovicni reseni mi kryl neuznal. ..nakonec mi rekl, ze kdyz mi permutace nic nerikaji, tak nemam na mat-fyzu co delat. :/ ..to nepotesi. Kdyz jsem v tom zmateni odchazel, tak jsem tam nechal penezenku..mi rekl, at si tu penezenku vezmu, ze uplatky nebere. ..ale to uz ted nechme konovi.Lovec píše:Tak jsem byl na praktickem testu z programovani a dostal jsem toto:
Máte k-ciferna cisla, ve kterych se nesmeji opakovat cifry. Jsou lexikograficky usporadane. Napiste procedury, nebo funkce, ktere spocitaji poradi zadaneho cisla a kdyz zadate poradi vypocita prislusne cislo.
Např. 4 ciferna cisla. cislo 1023 je 1. cislo atd.
Cele tri hodiny jsem se snazil prijit na to jak to vubec delat ale nic me nenapadlo, nevite nekdo jak se to ma delat?
-j&kup-