<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Speanet.info &#187; Entwicklung</title>
	<atom:link href="http://speanet.info/category/entwicklung/feed/" rel="self" type="application/rss+xml" />
	<link>http://speanet.info</link>
	<description>Ein Blog rund um das Thema PHP/MySQL sowie Linux und andere mögige Sachen.</description>
	<lastBuildDate>Tue, 14 Jul 2009 11:34:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Die Türme von Hanoi</title>
		<link>http://speanet.info/2007/11/25/die-turme-von-hanoi/</link>
		<comments>http://speanet.info/2007/11/25/die-turme-von-hanoi/#comments</comments>
		<pubDate>Sun, 25 Nov 2007 00:25:10 +0000</pubDate>
		<dc:creator>Spea</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://speanet.info/2007/11/25/die-turme-von-hanoi/</guid>
		<description><![CDATA[Was bitteschön sind die Türme von Hanoi? Nunja, das ist eigentlich schnell erklärt. Bei den Türmen von Hanoi handelt es sich um 3 Türme, wobei auf einen dieser Türme 64 Goldscheiben liegen, diese 64 Scheiben sollen also auf einen der anderen 2 Türme verschoben werden. Die eigentliche Geschichte handelt von einem Mönch, dem wenn es [...]]]></description>
			<content:encoded><![CDATA[<p>Was bitteschön sind die Türme von Hanoi? Nunja, das ist eigentlich schnell erklärt. Bei den Türmen von Hanoi handelt es sich um 3 Türme, wobei auf einen dieser Türme 64 Goldscheiben liegen, diese 64 Scheiben sollen also auf einen der anderen 2 Türme verschoben werden. Die eigentliche Geschichte handelt von einem Mönch, dem wenn es gelingen würde alle 64 Scheiben zu verschieben, dass dann das Ende der Welte gekommen wäre.<br />
Dabei gelten folgende Regeln:</p>
<ul>
<li>Die Scheiben müssen auf eine der anderen 2 Türme abgelegt werden</li>
<li>Es darf immer nur eine Scheibe bewegt werden</li>
<li>Es darf niemals eine größere Scheibe auf eine kleinere abgelegt werden</li>
</ul>
<p>Die Frage ist nun, wie setzt man das so um, dass man es in einer Programmiersprache verwenden kann.<br />
Dazu wurde ein rekursiver Algorithmus gefunden, der wie folgt aussieht:</p>
<pre language="text">funktion bewege (Zahl i, Stab a, Stab b, Stab c) {
    falls (i > 0) {
       bewege(i-1, a, c, b);
       verschiebe oberste Scheibe von a nach c;
       bewege(i-1, b, a, c);
    }
}</pre>
<p>In anbetracht der Komplexität und Aufwendigkei 64 Scheiben nach diesen Regeln auf einen anderen Turm zu verschieben, ist die Funktion sehr sehr einfach (was man vielleicht nicht erwartet hätte).</p>
<p>Ich habe vor etwas längerer Zeit ein PHP-Script dazu geschrieben, welches auch noch die einzelnen Verschiebungen anzeigt (also Scheibe $x nach Turm $y verschieben). Das Script ist aber auf 12 Scheiben beschränkt, da es ansonsten  zuviel Speicher des Browsers kosten würde.</p>
<p>Das Script ist <a href="http://speanet.info/examples/hanoi.php">hier</a> zu finden.</p>
<p>Der Code dazu folgt in Kürze</p>
]]></content:encoded>
			<wfw:commentRss>http://speanet.info/2007/11/25/die-turme-von-hanoi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
