summaryrefslogtreecommitdiff
path: root/sonstiges/sonstiges.tex
diff options
context:
space:
mode:
authorPaul Jungeblut <s_jungeb@i08pc54.atis-stud.uni-karlsruhe.de>2014-11-25 18:04:56 +0100
committerPaul Jungeblut <s_jungeb@i08pc54.atis-stud.uni-karlsruhe.de>2014-11-25 18:04:56 +0100
commit1a91dadfeed24be8ceda8636795ad776c658bb88 (patch)
tree55b6c3460a0582d7734536641a1db83477e4c086 /sonstiges/sonstiges.tex
parent335cb07b40e5e91e3cbd6a54504c29514ae0dee5 (diff)
Josephus Problem
Diffstat (limited to 'sonstiges/sonstiges.tex')
-rw-r--r--sonstiges/sonstiges.tex12
1 files changed, 10 insertions, 2 deletions
diff --git a/sonstiges/sonstiges.tex b/sonstiges/sonstiges.tex
index 8960a8a..a0e2fb5 100644
--- a/sonstiges/sonstiges.tex
+++ b/sonstiges/sonstiges.tex
@@ -17,8 +17,16 @@ Wenn die Eingabe aus einem kleinen Intervall $\left[0, n\right)$ stammt ist Buck
\subsubsection{LSD-Radixsort}
\lstinputlisting{sonstiges/radixsort.cpp}
-\subsubsection{Bit Operations}
+\subsection{Bit Operations}
\lstinputlisting{sonstiges/bitOps.cpp}
-\subsubsection{Roman-Literal-Converting}
+\subsection{Roman-Literal-Converting}
\lstinputlisting{sonstiges/Roman.cpp}
+
+\subsection{Josephus-Problem}
+$n$ Personen im Kreis, jeder $k$-te wird erschossen.
+\begin{description}
+ \item[Spezialfall $k=2$:] Betrachte Binärdarstellung von $n$. Für $n = 1b_1b_2b_3..b_n$ ist $b_1b_2b_3..b_n1$ die Position des letzten Überlebenden. (Rotiere $n$ um eine Stelle nach links)
+ \item[Allgemein:] Sei $F(n,k)$ die Position des letzten Überlebenden. Nummeriere die Personen mit $0, 1, \ldots, n-1$. Nach Erschießen der $k$-ten Person, hat der Kreis noch Größe $n-1$ und die Position des Überlebenden ist jetzt $F(n-1,k)$. Also: $F(n,k) = (F(n-1,k)+k)\%n$. Basisfall: $F(1,k) = 0$.
+\end{description}
+\textbf{Beachte bei der Ausgabe, dass die Personen im ersten Fall von $1, \ldots, n$ nummeriert sind, im zweiten Fall von $0, \ldots, n-1$!}