Genau das wird passieren wenn du die Idee von Your_Conscience nimmst.
Du hast, um bei deinem Beispiel zu bleiben, 1.50€ für eine Cola und 10€ reingesteckt.
Also teilst du durch die nächst kleinere Ausgabemöglichkeit (ausgehend vom eingeworfenen Betrag), da ja keine größere Summe bzw die gleiche Summe ausgegeben willst als eingworfen wurde.
1.
int rueckgeld=8.5/2
int rueckgeld=4 =>4x 2€ werden ausgegeben.
2.
int rueckgeld = 0.5/1
int rueckgeld = 0 =>0x 1€ werden ausgegeben
3.
int rueckgeld = 0.5/0.5
int rueckgeld =1 => 1x 50 Cent werden ausgegeben.
Macht genau: 4x 2€ und 1x 50 Cent
EDIT: Der Wurm war schneller