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
Stránky: 1
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
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
Stránky: 1