basic a2
This commit is contained in:
119
Aufgabe2-Rechenrätsel/doc.tex
Normal file
119
Aufgabe2-Rechenrätsel/doc.tex
Normal file
@ -0,0 +1,119 @@
|
||||
\documentclass[a4paper,10pt,ngerman]{scrartcl}
|
||||
\usepackage{babel}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[utf8x]{inputenc}
|
||||
\usepackage[a4paper,margin=2.5cm,footskip=0.5cm]{geometry}
|
||||
|
||||
% Die nächsten drei Felder bitte anpassen:
|
||||
\newcommand{\Aufgabe}{Aufgabe 2: Rechenrätsel} % Aufgabennummer und Aufgabennamen angeben
|
||||
\newcommand{\TeilnahmeId}{60813} % Teilnahme-ID angeben
|
||||
\newcommand{\Name}{Marcel Zinkel} % Name des Bearbeiter / der Bearbeiterin dieser Aufgabe angeben
|
||||
|
||||
|
||||
% Kopf- und Fußzeilen
|
||||
\usepackage{scrlayer-scrpage, lastpage}
|
||||
\setkomafont{pageheadfoot}{\large\textrm}
|
||||
\lohead{\Aufgabe}
|
||||
\rohead{Teilnahme-ID: \TeilnahmeId}
|
||||
\cfoot*{\thepage{}/\pageref{LastPage}}
|
||||
|
||||
% Position des Titels
|
||||
\usepackage{titling}
|
||||
\setlength{\droptitle}{-1.0cm}
|
||||
|
||||
% Für mathematische Befehle und Symbole
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amssymb}
|
||||
|
||||
% Für Bilder
|
||||
\usepackage{graphicx}
|
||||
|
||||
% Für Algorithmen
|
||||
\usepackage{algpseudocode}
|
||||
|
||||
% Für Quelltext
|
||||
\usepackage{listings}
|
||||
\usepackage{color}
|
||||
\definecolor{mygreen}{rgb}{0,0.6,0}
|
||||
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
|
||||
\definecolor{mymauve}{rgb}{0.58,0,0.82}
|
||||
\lstset{
|
||||
keywordstyle=\color{blue},commentstyle=\color{mygreen},
|
||||
stringstyle=\color{mymauve},rulecolor=\color{black},
|
||||
basicstyle=\footnotesize\ttfamily,numberstyle=\tiny\color{mygray},
|
||||
captionpos=b, % sets the caption-position to bottom
|
||||
keepspaces=true, % keeps spaces in text
|
||||
numbers=left, numbersep=5pt, showspaces=false,showstringspaces=true,
|
||||
showtabs=false, stepnumber=2, tabsize=2, title=\lstname
|
||||
}
|
||||
\lstdefinelanguage{JavaScript}{ % JavaScript ist als einzige Sprache noch nicht vordefiniert
|
||||
keywords={break, case, catch, continue, debugger, default, delete, do, else, finally, for, function, if, in, instanceof, new, return, switch, this, throw, try, typeof, var, void, while, with},
|
||||
morecomment=[l]{//},
|
||||
morecomment=[s]{/*}{*/},
|
||||
morestring=[b]',
|
||||
morestring=[b]",
|
||||
sensitive=true
|
||||
}
|
||||
|
||||
% Anführungszeichen
|
||||
\usepackage{csquotes}
|
||||
|
||||
% Diese beiden Pakete müssen zuletzt geladen werden
|
||||
%\usepackage{hyperref} % Anklickbare Links im Dokument
|
||||
\usepackage{cleveref}
|
||||
|
||||
% Daten für die Titelseite
|
||||
\title{\textbf{\Huge\Aufgabe}}
|
||||
\author{\LARGE Teilnahme-ID: \LARGE \TeilnahmeId \\\\
|
||||
\LARGE Bearbeiter/-in dieser Aufgabe: \\
|
||||
\LARGE \Name\\\\}
|
||||
\date{\LARGE\today}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
\tableofcontents
|
||||
|
||||
\vspace{0.5cm}
|
||||
|
||||
\section{Lösungsidee}
|
||||
Die Aufgabenstellung gibt nicht vor wie ein Rätsel, das \enquote{interessant und
|
||||
unterschiedlich} ist, zu sein hat. Damit das Rätsel interessant ist habe ich mir
|
||||
folgende Regeln überlegt:
|
||||
\begin{enumerate}
|
||||
\item Bei $n$ Operatoren muss für $m_i$, die Anzahl, mit der jeder der
|
||||
vier Operatoren vorkommt, gelten:
|
||||
\begin{align}
|
||||
\frac{n}{10} - 1 < m_i \leq \frac{n}{3} + 1
|
||||
\end{align}
|
||||
\item Bei $n$ Ziffern muss für $m_i$, die Anzahl, mit der jede der neun
|
||||
Ziffern vorkommt, gelten:
|
||||
\begin{align}
|
||||
\frac{n}{16} - 1 < m_i \leq \frac{n}{4} + 1
|
||||
\end{align}
|
||||
\end{enumerate}
|
||||
|
||||
Der Beweis, ob ein Rechenrätsel eindeutig lösbar ist, ist ein
|
||||
Entscheidungsproblem mit NP-Schwere. Eine Lösung ist die Ziffern zufällig zu
|
||||
wählen und alle möglichen Kombinationen von Operatoren auszuprobieren. Kommt ein
|
||||
Ergebnis nur einmal vor, wurde ein eindeutiges Rätsel gefunden, was in der Regel
|
||||
der Fall sein sollte. Solch eine Brute-Force Operation dauert allerdings bei
|
||||
viele Operatoren exponentiell länger. Die Anzahl der Möglichkeiten $|\Omega|$
|
||||
kann in Abhängigkeit von der Operatorenanzahl $n$ berechnet werden:
|
||||
$|\Omega|=4^{n}$. Das Programm sollte Rätsel mit mindestens 15 Operatoren
|
||||
erstellen können, da dies in der Aufgabenstellung als Richtwert angegeben wird.
|
||||
Für $n=15$ gilt $|\Omega|=4^{15}=1073741824\approx10^{6}$. So viele
|
||||
Möglichkeiten können noch mit einer guten Laufzeit berechnet werden.
|
||||
|
||||
\section{Umsetzung}
|
||||
Hier wird kurz erläutert, wie die Lösungsidee im Programm tatsächlich umgesetzt wurde. Hier können auch Implementierungsdetails erwähnt werden.
|
||||
|
||||
\section{Beispiele}
|
||||
Genügend Beispiele einbinden! Die Beispiele von der BwInf-Webseite sollten hier diskutiert werden, aber auch eigene Beispiele sind sehr gut – besonders wenn sie Spezialfälle abdecken. Aber bitte nicht 30 Seiten Programmausgabe hier einfügen!
|
||||
|
||||
\section{Quellcode}
|
||||
Unwichtige Teile des Programms sollen hier nicht abgedruckt werden. Dieser Teil sollte nicht mehr als 2–3 Seiten umfassen, maximal 10.
|
||||
|
||||
|
||||
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user