Java :: Aufgabe #239 :: Lösung #2
2 Lösungen

#239
Begleichung einer Rechnung ausschließlich mit Münzen
Anfänger - Java
von hollst
- 02.05.2019 um 15:46 Uhr
Angenommen, ihr hättet an der Kasse einen Betrag X zwischen (einschließlich) einem Cent und einem Euro zu bezahlen.
Schreibe ein Program, dass die Anzahl der Möglichkeiten berechnet, X ausschließlich mit 1, 2, 5 und 10 Cent-Münzen zu begleichen.
Beispiel: X = 5 Cent -> 4 Möglichkeiten (5; 2 + 2 + 1; 2 + 1 + 1+ 1; 1 + 1 + 1 + 1 + 1)
Achtung: für einen EURO (100 Cent) gibt es bereits 2.156 Möglichkeiten!
Viel Spaß!
Schreibe ein Program, dass die Anzahl der Möglichkeiten berechnet, X ausschließlich mit 1, 2, 5 und 10 Cent-Münzen zu begleichen.
Beispiel: X = 5 Cent -> 4 Möglichkeiten (5; 2 + 2 + 1; 2 + 1 + 1+ 1; 1 + 1 + 1 + 1 + 1)
Achtung: für einen EURO (100 Cent) gibt es bereits 2.156 Möglichkeiten!
Viel Spaß!
#2

von Fre011 (230 Punkte)
- 27.08.2019 um 16:14 Uhr
Folgende Lösung geht wie im Beispiel davon aus, dass die Reihenfolge der Münzen keine Rolle spielt, dass somit (2 + 2 + 1; 2 + 1 + 2; 1 + 2 + 2) als eine Möglichkeit gezählt wird. Folglich gibt es für 100 Cent nur 71 Möglichkeiten. (Kleiner Widerspruch in der Aufgabenstellung, dort spielt bei den 100 Cent und 2.156 Möglichkeiten die Reihenfolge eine Rolle :) )
Java-Code

public class BetragX { public static final int X = 100; public static void main(String[] args) { byte coin = 0; int possibilities = 1; for(int a = 0; a < X;) { int aRef = a; int possibilitiesRef = possibilities; switch(coin) { case 0: a += 10; possibilities += 7; break; case 1: a += 5; possibilities += 3; break; case 2: a += 2; possibilities += 1; break; case 3: a+= 1; break; } if (a > X) { a = aRef; possibilities = possibilitiesRef; coin++; } } System.out.println(possibilities); } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1