Nejste přihlášen/a.
přeji vám krásný den, dostali jsme na vysoké tento banální ukol a čistě ze zvědavosti by mě zajímalo, jak byste ho VY naprogramovali v co nejkratším možném způsobu.
problém žvýkaček: v obchodě mají žvýkačky za 5 a 7 kč. máš u sebe 472Kč. Všechny utratíš za žvýkačky. Vypiš jaké existují možnosti jak lze žvýkačky zakoupit
úkol zabere max 5 minut když víte jak na to .
(Programujeme v JAVE)
final int suma = 472;
for (int pocetZa5 = 0; pocetZa5 <= suma / 5; pocetZa5++) {
for (int pocetZa7 = 0; pocetZa7 <= suma / 7; pocetZa7++) {
if (5 * pocetZa5 + 7 * pocetZa7 == suma) {
// vypis premennych
}
}
}
Dobrý den, vaše řešení mě zaujalo, myslíte, že byste mi mohl poslat celou verzi? Když jsem tohle zkoušela, tak to můj poměrně starší kompilátor nezkousl :D děkuji předem
cele to zabalte do main metody, to je len zaklad riesenia, predpokladam zakladne znalosti z Javy
za komentar "vypis premennych" si dajte System.out,println a sformatujte to, ako chcete
Ok pomůžu vám, nechce se mi ale psát kód.
Pracujte s korunama 5 a 7 jako s produktem.
1) Nejprve zjistěte kolikrát se 7 vleze do celkové částky. Zaokrouhlete hodnotu a uložte jako var max.
1.a) otestujte taky zbytek jestli se do něj vleze pět. Pokud vleze, pak toto přidejte k řešení
2) Proveďte cyklus 1 až max. s navyšováním i po jedné. i je násobitel. vždy vám vyjde nějaký výsledek x = i*7.
3) V každém cyklu spočítejte výsledek odečtem x z celkové částky. result = suma-x
4) porovnejte result funkcí MOD (v php %) a zjistěte zda se jedná o celé číslo
4.a) pokud vám vyšlo celé číslo, použijete tuto iterakci jako součást řešení, tzn musíte si do nějakého pole nebo do objektu ukládat toto řešení neboli produkty a jejich počet. Příklad v pseudokódu
Objekt ovoce = { kysele_hrozny: array(), sladke_hrozny: array() } // do pole píšete počet kusů
Obdobně pro toto řešení:
Objekt kombinace = { pet: array(), sedm: array() } // do pole píšete násobky
5) vyzkoušjte taky možnost 7x0 = 0 , jestli celková částka je dělitelná pěti.
Ach jo, než jsem to dočetl , měl jsem to naprogramované v ruby.
irb(main):004:0> res=[];999.times do|n5| d=472-5*n5 ;res<<[n5,d/7] if d%7==0; break if d<0; end;res
=> [[2, 66], [9, 61],
(Zásady): pro použití proměnný v zadání použít proměnné, nevyskytují-li se víc než jednou. Stydím se jen za to 999.
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.