Java :: Aufgabe #239 :: Lösung #1

2 Lösungen Lösungen öffentlich
#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ß!
#1
vote_ok
von Rattlesnake (150 Punkte) - 19.08.2019 um 17:20 Uhr
Quellcode ausblenden Java-Code
import java.util.Arrays;

public class Java_239 {

    public static long waysToPay(int[] coinValues, int numCoins, int valueToPay){
       //Tabelle speichert die Anzahl der Lösungen von i
        long[] table = new long[valueToPay+1];
        Arrays.fill(table,0);
        table[0] = 1;

        for (int i=0; i<numCoins; i++){
            for (int j=coinValues[i]; j <=valueToPay; j++){
                table[j] += table[j-coinValues[i]];
            }
        }
        return table[valueToPay];
    }

    public static void main(String[] args) {
        int arr[] = {1, 2, 5, 10};
        int m = arr.length;
        int n = 100;

        long counter = waysToPay(arr,m,n);

        System.out.println("Für den Betrag von " + n + " gibt es " + counter + " Möglichkeiten");
    }
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben