\documentclass{bschlangaul-aufgabe}
\bLadePakete{java}
\begin{document}
\bAufgabenMetadaten{
  Titel = {Greedy-Münzwechsler},
  Thematik = {Münzwechsler},
  Referenz = AUD.Algorithmenmuster.Greedy-Algorithmen.Muenzwechsler,
  RelativerPfad = Module/30_AUD/60_Algorithmenmuster/20_Greedy-Algorithmen/Aufgabe_Muenzwechsler.tex,
  ZitatSchluessel = aud:ab:3,
  ZitatBeschreibung = {Seite 1, Greedy-Münzwechsler, Aufgabe 1},
  BearbeitungsStand = mit Lösung,
  Korrektheit = unbekannt,
  Ueberprueft = {unbekannt},
  Stichwoerter = {Greedy-Algorithmus},
}

\begin{enumerate}

%%
% (a)
%%

\item Nehmen Sie an, es stehen beliebig viele 5-Cent, 2-Cent und
1-Cent-Münzen zur Verfügung. Die Aufgabe besteht darin, für einen
gegebenen Cent-Betrag möglichst wenig Münzen zu verbrauchen. Entwerfen
Sie eine Methode\index{Greedy-Algorithmus}
\footcite[Seite 1, Greedy-Münzwechsler, Aufgabe 1]{aud:ab:3}

\begin{minted}{java}
public void wechselgeld (int n)
\end{minted}

die diese Aufgabe mit einem Greedy-Algorithmus löst und für den Betrag
von $n$ Cent die Anzahl $c5$ der 5-Cent-Münzen, die Anzahl $c2$ der
2-Cent-Münzen und die Anzahl $c1$ der 1-Cent-Münzen berechnet und diese
auf der Konsole ausgibt. Sie können dabei den Operator \texttt{/} für
die ganzzahlige Division und den Operator $\%$ für den Rest bei der
ganzzahligen Division verwenden.
\footnote{Quelle möglicherweise von \url{https://www.yumpu.com/de/document/read/17936760/ubungen-zum-prasenzmodul-algorithmen-und-datenstrukturen}}

\begin{bAntwort}
\bJavaDatei[firstline=19,lastline=28]{aufgaben/aud/muster/greedy/Muenzwechsler}
\end{bAntwort}

%%
% (b)
%%

\item Es kann gezeigt werden, dass der Greedy-Algorithmus für den obigen
Fall der Münzwerte 5, 2 und 1 optimal ist, \dh dass er immer die
Gesamtzahl der Münzen minimiert. Nehmen Sie nun an, es gibt die
Münzwerte 5 und 1. Ist es dann möglich, einen dritten Münzwert so zu
wählen, dass der Greedy-Algorithmus mit den drei Münzen nicht mehr
optimal ist? Begründen Sie Ihre Antwort.

\begin{bAntwort}
Falls der dritte Münzwert 4 ist, ist der Greedy-Algorithmus nicht mehr
optimal. Der Greedy-Algorithmus benutzt zunächst so viele 5-Cent-Münzen
wie möglich und dann so viele 4-Cent-Münzen wie möglich. Ein Betrag von
8 Cent wird also in eine 5-Cent und drei 1-Cent-Münzen aufgeteilt.
Optimal ist aber die Aufteilung in zwei 4-Cent-Münzen.
\end{bAntwort}
\end{enumerate}

\begin{bAdditum}
\bJavaDatei{aufgaben/aud/muster/greedy/Muenzwechsler}
\end{bAdditum}
\end{document}
