Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 11. 12. 2017 14:34

dragonfly
Zelenáč
Příspěvky: 2
Škola: VUT
Reputace:   
 

Algoritmus pro generovani vsech kombinaci nalosovani tymu do turnaje

Ahoj,

potreboval bych vygenerovat seznam vsech moznych kombinaci jak nalosovat tymy do turnaje. Tak aby to bylo obecne aplikovatelne pro n tymu

Napr. Pro 4 tymy mame celkem  3 moznosti nalosovani:

1-2
3-4

1-3
2-4

1-4
2-3

Pro 6 tymu tech moznosti bude 15
1-2
3-4
5-6

1-2
3-5
4-6
.
.
.

atd

Tech moznosti bude zrejme (n-1)*(n-3)*...*(n-(n-1)), ale marne si lamu hlavu s tim jak by se daly vygenerovat programove.

Offline

 

#2 11. 12. 2017 19:44

mák
Místo: Vesmír, Galaxie MD
Příspěvky: 875
Reputace:   62 
 

Re: Algoritmus pro generovani vsech kombinaci nalosovani tymu do turnaje

Zdravím,
jde to pomocí rekurze.
Začátek programu: Vezmu seznam týmů.
Vyberu první tým a k tomu postupně vybírám ze zbytku další.
Mám vybranné dva týmy. Ty dám stranou (vybrané) a vezmu zbytek a jdu na začátek programu (program volá sám sebe) a opakuji dokud mi něco zbyde.
Když nic nezbyde, je konec.

Tady je ukázka jak to vypadá v programu Maxima (nechtěl jsem se stím moc zabývat):


LibreOffice Verze: 7.6.6.3, Maxima 5.47.0 (SBCL)

Offline

 

#3 13. 12. 2017 14:43 — Editoval dragonfly (13. 12. 2017 14:44)

dragonfly
Zelenáč
Příspěvky: 2
Škola: VUT
Reputace:   
 

Re: Algoritmus pro generovani vsech kombinaci nalosovani tymu do turnaje

↑ mák:

Ufff, dalo mi to docela praci nez jsem prelouskal program napsany v wxMaxima, ktery jsem tady videl poprve a prepsat ho do VBA, se kterym zacinam. Ale nakonec se povedlo. Diky za pomoc a hezke reseni meho problemu!

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson