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 13. 03. 2013 01:40

Rapier
Příspěvky: 37
Reputace:   
 

kombinatorika. vela konstant bez opakovania s cielom dosiahnut hodnotu

dobry den,
prepacte ceski kolegovia, ze vam "leziem do kapusty", ale my nemame podobnu stranku pokial viem.
niesom zdatny v matematike, ani pre nu nemam extra vlohy, ale dokazem popisat problem, ktory riesim.
prosim skuste sa vyjadrit.

aby to nebolo prilis abstraktne, predstavne me si napr. ze v pocitacovej hre si tvorime postavicku.
je nevyhnutne, aby postavicka dosiahla hodnotu 60 vo vlastnosti "sila", spravnym skombinovanim sucasti oblecenia. silu mozu poskytnut (ale nemusia) tieto sucasti oblecenia postavicky:
-helma
-brnenie
-opasok
-stit
-topanky

tieto sucasti oblecenia, mozu nadobudat taketo hodnoty sily:
-helma ( 0 alebo 10 )
-brnenie ( 0 alebo 10 alebo 17 alebo 24 )
-opasok ( 0 alebo 10 alebo 17 alebo 24 )
-stit ( 0 alebo 10 alebo 17 )
-topanky ( 0 alebo 10 )

nie je podmienkou, ze vsetky sucasti sa musia vyskytnut naraz. staci iba, ak sa podari dosiahnut hodnota 60 ich spravnym skombinovanim.


ja som si to predstavoval tak, ze kazdemu cislu dame svoj vlastny nazov ako konstante ( pretoze sa nesmu opakovat ) a podmienku ze ich skombinovany sucet musi byt vyssi ako hodnota 60.
ALE aby sa tiez nestalo, ze hodnota bude prilis velka. cize 24+24+17+10 = 72. posledne cislo 10, tam nemoze byt, lebo zbytocne sa tam objavi ak sme uz 60 dosiahli.

-helma ( 0=A1 alebo 10=A2 )
-brnenie ( 0=B1 alebo 10=B2 alebo 17=B3 alebo 24=B4 )
-opasok ( 0=C1 alebo 10=C2 alebo 17=C3 alebo 24=C4 )
-stit ( 0=D1 alebo 10=D2 alebo 17=D3 )
-topanky ( 0=E1 alebo 10=E2 )


nakoniec by som to chcel hodit to nejakeho vzorca alebo do pocitacoveho programu, ktory by mi len vyhodil vsetky kombinacie konstant na utvorenie hodnoty 60.





dakujem za napady

Offline

 

#2 13. 03. 2013 14:14

pietro
Příspěvky: 4762
Reputace:   187 
 

Re: kombinatorika. vela konstant bez opakovania s cielom dosiahnut hodnotu

↑ Rapier: Ahoj,
v Basicu, ktorý máš aj v Exceli by to mohlo ísť takto

For A= 0 to 10
For B= 0 to 10
For C= 0 to 10
For D= 0 to 10

s= A+B+C+D

if s= 60 then Print A,B,C,D

Next D,C,B,A

End

Offline

 

#3 13. 03. 2013 17:02

Rapier
Příspěvky: 37
Reputace:   
 

Re: kombinatorika. vela konstant bez opakovania s cielom dosiahnut hodnotu

hodnoty nie su od nula do 10. ale 0 alebo 10. ziaden interval alebo mnozina.
pevne definovane

Offline

 

#4 07. 07. 2013 14:48

4Fun
Zelenáč
Příspěvky: 4
Škola: FRI ŽU
Pozice: student
Reputace:   
 

Re: kombinatorika. vela konstant bez opakovania s cielom dosiahnut hodnotu

Zdravim,

podla mňa stačí ak napíšeš program, ktorý vygeneruje najprv úplne všetky kombinácie predmetov (od každého typu len jeden). Ak niektorá z kombinácií nebude mať súčet 60 tak rovno zahodiť. Potom prejdeš zoznam a hľadáš taký predmet ktorý môžeš odstrániť a zároveň súčet ostane nad 60. Ak je takých kandidátov viac (ukladaj ich napr do pola) tak túto kombináciu naklonuješ a zakaždým odoberieš iný z kandidátov. Na tej kombinácii na ktorej si úspešne odobral item, opakuješ odoberanie dovtedy, dokým ostane po procedúre nezmenená (klasický while cyklus  a vraciaš boolean premennú). A nakoniec odstrániš duplicitné kombinácie.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson