import Foundation
// Die Variable betrag wird für den Betrag deklariert.
var betrag : Int
/* Die Variable rest ist eine Hilfsvariable, die zum Rechnen innerhalb des
Programms benötigt wird. */
var rest : Int
print("Geben Sie einen ganzzahligen Betrag in Cent an:")
repeat {
betrag = Int(readLine()!)!
/* Zuerst wird geprüft, ob der eingegebene Betrag kleiner oder gleich null
ist, da sich negative Beträge nicht durch Münzen darstellen lassen. */
if betrag <= 0 {
/* Wenn der Betrag kleiner gleich null ist, soll die Ausgabe 0 erfolgen,
da es keine Münzen gibt, mit denen ein solcher Betrag dargestellt
werden kann. */
print("0")
}
} while betrag <= 0
/* Wenn der Betrag größer als null ist, wird der Variablen rest der Wert der
Variable betrag zugewiesen. Und es wird mit der Variable rest gerechnet. Dadurch
bleibt der ursprüngliche Betrag in der Variablen betrag erhalten und kann später
wieder verwendet werden. */
rest = betrag
repeat {
/* Innerhalb der folgenden Fallunterscheidungen wird geprüft, ob der Wert
der Variablen rest größer als der Wert der jeweiligen Münze ist. Im Fall, dass
der Wert größer ist, wird zuerst der Wert der Münze ausgegeben und dann wird von
der Variablen rest der Wert der Münze abgezogen. Solange der Wert der Variablen
rest größer null ist, wird diese Schleife durchlaufen. */
/* Dadurch, dass die Münzen bei den Fallunterscheidungen in absteigendem
Wert angeordnet sind, ergibt sich ein möglichst kleine Anzahl an Münzen,
die zur Darstellung des Betrags verwendet wird. */
if rest >= 200 {
print("200")
rest = rest - 200
} else {
if rest >= 100 {
print("100")
rest = rest - 100
} else {
if rest >= 50 {
print("50")
rest = rest - 50
} else {
if rest >= 20 {
print("20")
rest = rest - 20
} else {
if rest >= 10 {
print("10")
rest = rest - 10
} else {
if rest >= 5 {
print("5")
rest = rest - 5
} else {
if rest >= 2 {
print("2")
rest = rest - 2
} else {
print("1")
rest = rest - 1
}
}
}
}
}
}
}
} while rest > 0