Mam oto taki wydający sie banalny problem, ale jakoś cholera nie moge sobie z tym poradzić - żeby był optymalny. Amnezja. A więc do rzeczy. Chodzi o przeliczanie cen według widełek. I tak widełki wyglądają tak, że np. dla 4 jest to cena 25zł a np. dla 2 - 20zł. Oznacza to, że ilość z przedziału 3-4 mieści się w widełkach 4, natomiast 1-2 w 2. I teraz jak masz np. 27 to idziesz od góry i liczysz wielokrotność największej i odejmujesz ilość. W tym przypadku wyjdzie 6, czyli 6 * 25zł. Pozostaje 3. I teraz jest tak, że jak jest 3 to nadal zawierać ma się w 4 - nie może wpaść do 2. Może bardziej obrazowo:
4 => 25
2 => 20
price = 0;
count = 27
Przy pierwszym obiegu z 27 zostaje 3 (cost += 25 * 6;)
Przy kolejnym jest 2 a więc gdy jest 3 powinien wybrać kwotę z 4, czyli: cost += 25;
Ma ktoś pomysł na to albo rozwiązanie?