k-ciferna cisla ...

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

Příspěvek od Lovec »

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 :evil: ale nic me nenapadlo, nevite nekdo jak se to ma delat?
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
Uživatelský avatar
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:

Příspěvek od Goran »

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.
Uživatelský avatar
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:

Příspěvek od Goran »

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.
Uživatelský avatar
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:

Příspěvek od David Nohejl »

tyvoe fakt uz bych mel ten pocitac vypnou protoze vidim 3x :shock:
Never forget: Stay kul and happy (I.A.)
Uživatelský avatar
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:

Příspěvek od Goran »

Nojo, chybicka se vloudila, ja jen chtel aby to bylo opravdu jasne.
Taky sem si chtel trosku nahnat pocet prispevku :-)
Lovec
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:

Příspěvek od Lovec »

to Goran
dik za odpoved, uz je mi to jasnejsi, v patek to jdu zkusit znova, stejne doufam ze si losnu A in B :lol:
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
Lovec
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:

Příspěvek od Lovec »

:D to se nam to ty odpovedi ale pekne sesli :lol:
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
-j&kup-
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 ...

Příspěvek od -j&kup- »

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 :evil: ale nic me nenapadlo, nevite nekdo jak se to ma delat?
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. ;)

-j&kup-
Odpovědět

Zpět na „2004“