\documentclass[uebung]{../../../lecture} \usepackage{listings} \title{Übungsblatt 6} \author{Samuel Weidemaier, Christian Merten} \usepackage{xcolor} \lstdefinestyle{mystyle}{ commentstyle=\color{gray}, keywordstyle=\color{blue}, numberstyle=\tiny\color{gray}, stringstyle=\color{black}, basicstyle=\ttfamily\footnotesize, breakatwhitespace=false, breaklines=true, captionpos=b, keepspaces=true, numbers=left, numbersep=5pt, showspaces=false, showstringspaces=false, showtabs=false, tabsize=2 } \lstset{style=mystyle} \begin{document} \punkte \begin{aufgabe} siehe Blatt. \end{aufgabe} \begin{aufgabe} Primfaktorzerlegung \begin{lstlisting}[language=C++, title=Primfaktorzerlegung, captionpos=b] #include "cpp_headers/fcpp.hh" int main() { int n = enter_int("Please enter a natural number: "); // search smallest factor, start with smallest possible: 2 int k=2; // go until sqrt(n) while (k <= sqrt(n)) { // k is factor of n if (n % k == 0) { // print out the factor k print(k); // reset n to the quotient n = n / k; // restart at k=2 k = 2; } else { // if k is not a factor, check next one k++; } } // n is the last prime factor of the original input number print(n); } \end{lstlisting} Die algorithmische Komplexität des Programms für $n$ Primzahl ist $\sqrt{n}$, da die Schleife für Primzahlen bis $\sqrt{n} $ durchlaufen wird. \end{aufgabe} \begin{aufgabe} siehe \textit{taschenrechner.cpp} \end{aufgabe} \end{document}