From 738fef4068b61298ce97d6b0bc780b92f5d971b3 Mon Sep 17 00:00:00 2001 From: MrGeorgen Date: Mon, 28 Feb 2022 21:08:32 +0100 Subject: [PATCH] a3 doc with flawed algo --- Aufgabe3-HexMax/doc.tex | 107 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 Aufgabe3-HexMax/doc.tex diff --git a/Aufgabe3-HexMax/doc.tex b/Aufgabe3-HexMax/doc.tex new file mode 100644 index 0000000..a160c69 --- /dev/null +++ b/Aufgabe3-HexMax/doc.tex @@ -0,0 +1,107 @@ +\documentclass[a4paper,10pt,ngerman]{scrartcl} +\usepackage{babel} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[a4paper,margin=2.5cm,footskip=0.5cm]{geometry} + +% Die nächsten drei Felder bitte anpassen: +\newcommand{\Aufgabe}{Aufgabe 3: HexMax} % 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{minted} +\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} + +% 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} +Durch ebenso oftes Hinlegen und Wegnehmen der Stäbchen erhält man eine Hex-Zahl, +die man auch mit Umlegen erreichen kann. Der Algorithmus kann also erstmal mehr +Stäbchen hinlegen wie wegnehmen oder umgekehrt, solange am Ende die Anzahl der +hingelegten Stäbchen gleich der weggenommenen Stäbchen ist. + +Die größte Zahl erhält man, wenn man möglichst die vorderen Ziffern erhöht. Der +Algorithmus geht angefangen mit der ersten Ziffer jede Ziffer der Zahl durch. +Ausgenommen sind davon Ziffern, die schon geändert wurden. +Jede Ziffer wird, sofern sie nicht schon F ist, probiert auf F,E,... umzulegen. +Dabei wird gezählt wie viele Stäbchen weggenommenen und hingelegt werden müssen. +Überschreitet weder die Gesamtzahl der weggenommenen Stäbchen noch der +hingelegten Stäbchen die gegebene maximale Anzahl der Umlegungen, wird die +Ziffer entsprechend geändert. Ansonsten wird probiert die Ziffer zu der nächst +kleineren Ziffern zu ändern. Dies wird so lange wiederholt bis die Änderung der +Ziffer erfolgreich war oder bereits alle Ziffern, die größer sind, ausprobiert +wurden. Danach wird zu der nächsten Ziffer übergegangen. + +Nachdem die vorderen Ziffern entsprechend erhöht wurden, kann es sein, dass noch +Stäbchen benötigt werden oder loszuwerden sind, damit gleich viele Stäbchen +weggenommenen wie hingelegt wurden. Da zuvor schon die Ziffern nach Möglichkeit +erhöht wurden, kann dies nur erreicht werden, indem Ziffern verringert werden. +Damit das nicht so stark ins Gewicht fällt, wird über die Ziffern von hinten +iteriert. Ziffer für Ziffer wird nun probiert die Ziffer so zu ändern, dass sich der Betrag der Differenz von der +Anzahl der hingelegten und der weggenommenen Stäbchen zu verringert. Es kann +auch eine vorherige Änderung der Ziffer noch geändert werden. Dabei darf +natürlich nicht die maximale Anzahl der Umlegungen überschritten werden. + +Der Algorithmus wird so lange wiederholt bis die maximale Anzahl der Umlegungen +ausgeschöpft wurde. Dazu einmal das Beispiel aus der Aufgabenstellung: Die Zahl +D24 wird erst mit 3 weggenommenen und 2 hingelegten Stäbchen auf F24 erhöht. +Danach kann man allerdings das eine Stäbchen nicht bei den Ziffern 4 oder 2 +loswerden, sodass die Zahl auf E24 geändert wird, da dort gleich viele Stäbchen +hingelegt wie weggenommenen wurden. Darauffolgend wird wieder probiert die Ziffern zu +erhöhen, wobei die erste Ziffer ausgelassen wird, sodass der Algorithmus +schließlich zur Lösung EE4 kommt. + +8D5 F89 +\section{Umsetzung} + +\section{Beispiele} + +\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}