C :: Aufgabe #226

1 Lösung Lösung öffentlich

Begleichung einer Rechnung ausschließlich mit Münzen

Anfänger - C 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ß!

Lösungen:

vote_ok
von Gnom (550 Punkte) - 08.04.2020 um 23:58 Uhr
Quellcode ausblenden C-Code
// Berechnet alle Möglichkeiten, einen Betrag x in 10-, 5-, 2- und 1-Cent-Münzen zu zahlen.

#include <stdio.h>

int x = 18;  //gewünschter Betrag in Cent

int main() {
 
    if (x < 1 || x > 100) {printf("Ungültige Eingabe"); return(1);} 
    
    int n = 0;
            
    for (int zehner=0; zehner*10<=x; zehner++){

        for (int fuenfer=0;+zehner*10+fuenfer*5<=x; fuenfer++){

            for (int zweier=0; zehner*10+fuenfer*5+zweier*2<=x; zweier++){

                n++;
                printf("%d: ", n); 
                printf("%d x 10 Cent,  %d x 5 Cent,  %d x 2 Cent,  %d x 1 Cent\n", zehner, fuenfer, zweier, x-(zehner*10+fuenfer*5+zweier*2));

            }

        }

    } 
    
    return(0);
    
}