Číselné kombinace - poradíte někdo ? Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

guest
Pohlaví: Nespecifikováno

Číselné kombinace - poradíte někdo ?  Vyřešeno

Příspěvekod guest » 10 říj 2007 08:37

... s prý jednoduchým programem? Pokusím se srozumitelně napsat oč mi jde. Údajně je to velmi jednoduchý např. v Pascalu, ale nikdo mi to neudělal :smile: a Pascal je mi vzdálenější než čínština. :smile:

Dávám příklad:
V 5-ti číslech je 5x4x3x2/1x2x3x4 = 5 4-místných kombinací (1-2-3-4, 1-2-3-5, 1-2-4-5, 1-3-4-5, 2-3-4-5)
V 5-ti číslech je 5x4x3/1x2x3 = 10 3-místných kombinací
V 4-řech číslech je 4x3x2/1x2x3 = 4 3-místné kombinace
v 5-ti číslech je 10/4 = 2,5 4-místné kombinace, které obsahují všechna trojčíslí z 5-ti čísel.

A já potřebuju najít ty výsledné kombinace z x čísel.
Pokud někdo ví prográmek pro uvedený příklad, budu vděčný!
Myslím, že jsem to napsal dobře. :smile: Dik za radu!
Problém je trochu v tom, že ač to vychází matematicky, nejde to fyzicky, ale to mi nevadí!

Reklama
Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Příspěvekod X » 10 říj 2007 17:05

Nevím co potřebuješ, počet možností? Myslíš 5! (5 faktoriálů) ?

guest
Pohlaví: Nespecifikováno

Příspěvekod guest » 10 říj 2007 17:31

Žádnej faktoriál - kombinace ! Myslím, že jasněji to popsat nemůžu :smile: , ale zkusím jinej příklad, kterej s tím zcela nesouvisí ale možná bude pochopitelnější:
Ve sportce je 13 983 816 šestimístných kombinací, abys chytil 1.pořadí.
Dále je tam 18 424 třímístných kombinací, abys chytil páté pořadí.
V jednom sloupečku (6-ti vsazených číslech) je 20 trojčíslí.
Z toho vyplývá, že když vydělíš 18 424 20-ti , pak musíš vsadit 921,2 (922) kombinací abys měl obsazena všechna pátá pořadí. Jasněji už to napsat nejde!

Pavel123
Level 1
Level 1
Příspěvky: 91
Registrován: prosinec 06
Pohlaví: Nespecifikováno
Stav:
Offline

Příspěvekod Pavel123 » 10 říj 2007 19:07

Nějak jsem z tvého dotazu nepochopil, v jakém programovacím jazyce to potřebuješ napsat a proč ti na to nestačí Excel. Můžeš svůj dotaz nějak upřesnit?

Uživatelský avatar
mmmartin
Moderátor
Elite Level 10
Elite Level 10
Příspěvky: 9639
Registrován: srpen 04
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Příspěvekod mmmartin » 10 říj 2007 19:28

Pokud tomu dobře rozumím, jedná se o to, kolik n-místných skupin lze vytvořit z celkového počtu k čísel. Pokud otázka skutečně zní takto, pak výsledkem je kombinační číslo "n nad k" (existuje na to symbol, který vypadá jako v závorkách uzavřené n a pod ním k) a jeho hodnota je n!/(((n-k)!).k!) - do češtiny přeloženo n faktoriál lomeno n mínus k faktoriál krát k faktoriál. Na výpočet faktoriálů určitě existuje nějaký algoritmus a např v Excelu je faktoriál jednou z funkcí, které Excel umí.

Pavel123
Level 1
Level 1
Příspěvky: 91
Registrován: prosinec 06
Pohlaví: Nespecifikováno
Stav:
Offline

Příspěvekod Pavel123 » 10 říj 2007 19:36

Excel umí vypočítat přímo n nad k =Kombinace(z kolika; kolik).
Pavel

guest
Pohlaví: Nespecifikováno

Příspěvekod guest » 10 říj 2007 20:51

Pánové pochopili jste to pouze částečně.
1/ Jedno v jakém programu, hlavně aby to uměl.

2/ (n nad k) je jenom část celého algoritmu. V tom prvním příkladě je to matematicky, ale je třeba to celé převést do programu.
Excel /pro mne velká neznámá/ mi jistě spočítá kolik je třeba v té sportce kombinací což by zjednodušeně matematicky vypadalo takto :
k = 49x48x47x46x45x44/1x2x3x4x5x6 = 13.983.816 /nebo jak píše mmmartin - (49 nad 6)/.
Také spočítá kolik je tam trojmístných kombinací a stejným způsobem spočítá kolik je třeba sloupečků /budeme-li u Sportky/, aby v nich byly obsaženy všechny trojmístné kombinace /to jsem spočítal v tom druhém příkladu - 921,2/.
To ovšem neznamená, že ty výsledky dokáže porovnat a vypsat těch požadovaných 921,2 (922) šestimístných kombinací - tedy sloupečků na vsazení. Na to je třeba nějaký algoritmus - program.
Pokud bychom požadovanou otázku položili nějakému inteligentnímu počitači, zněla by třeba takto.

Máš 49 čísel a losuje se jich 6. Vypiš mi všechny šestimístné kombinace, abych v nich našel všechna trojčíslí, tedy 1,2,3......23,34,45 až tu poslední 47,48,49.

Samozřejmě se tam žádné trojčíslí nesmí opakovat, protože např. v případě sázky by se zvýšily náklady.

Takže by to vypadalo takto:
1.kombinace 1,2,3,4,5,6
2. " 1,7,8,9,10,11
3. " 1,12,13,14,15,16
........... zde máme 3 sloupečky ve kterých je obsaženo 60 trojmístných kombinací a žádná se neopakuje
4. " 1,17,18,19,20,21
............ a takhle by to pokračovalo až k požadovaným /vypočteným/ ....
921. " ?
922. " ?
END

Srozumitelněji to napsat už nelze /tu moji žádost/ :smile:
P.S. Tento program mám někde na kazetě v Phoenix Basicu, dělal jsem to cca před 18-ti lety a má přes 1000 řádků /tím netvrdím, že to nešlo zjednodušit, ale já to neuměl/.
Horší je, že Sharp MZ-821 s procesorem ZILOG 80 /3,5MHz/ by to počítal do konce světa, nebo spíš svého! :smile:


guest
Pohlaví: Nespecifikováno

Příspěvekod guest » 11 říj 2007 13:38

ad 1 Nejedná se o rozpis - jen jsem to uvedl jako příklad, protože s čísly se nejlépe pracuje. Mohlo tam být třeba ovoce, ale to by bylo nepřehledné. Ale ani v těch rozpisech nic podobného není.

ad 2/ Ten rozhovor nepomůže.

ad 3/ Na ty stránky jsem kdysi koukal. Nedá se sehnat žádný emulátor. Většina odkazů je nefunkčních, stránky neexistují, nebo jsou psány v japonštině.

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Příspěvekod X » 11 říj 2007 19:15

Opravdu se nedá sehnat emulátor? http://mz-800.xf.cz/download.htm

guest
Pohlaví: Nespecifikováno

Příspěvekod guest » 11 říj 2007 20:25

Bohužel ne! Tento je pro MZ-700, což na MZ-800 jde, ale není povoleno kopírování

citace:This ZIP-file was originally downloaded from
http://mz-800.xf.cz.
It's not permitted to copy this file to other servers for download services!


a navíc je to Demo.

Uživatelský avatar
ReCall
Level 4
Level 4
Příspěvky: 1004
Registrován: duben 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Příspěvekod ReCall » 11 říj 2007 20:35

Tak teda jestli je programování Matika s fyzikou dohromady řešená v Excelu tak to teda nwm co budu na te střední fělat :roll: :crazy:

sry for spam, ale jestli tohle je programování tak to teda nevím jestli pochopím a tenhle topič teda budu sledovat a chcu vidět co ztoho vzejde :twisted: :D


PS: Zdá se že si chce Spirit vsadit ve sportce :profi:


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host