<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Türme von Hanoi]]></title><description><![CDATA[<p>Das Problem der Türme von Hanoi lässt sich wie folgt beschreiben: Gegeben sind 3<br />
senkrechte Stangen 1, 2 und 3. Auf Stange 1 liegen n durchlöcherte Scheiben, die nach<br />
oben zu immer kleiner werden. Dieser Scheibenstapel ist nach folgenden Regeln auf<br />
Stange 3 zu verlagern: es darf immer nur eine Scheibe bewegt werden und es darf nie<br />
eine größere auf einer kleineren Scheibe zu liegen kommen.<br />
Der folgende Algorithmus löst das Problem der Türme von Hanoi rekursiv. Es wird<br />
dabei ein Protokoll ausgegeben, von welcher Stange auf welche die Scheiben bei den<br />
einzelnen Zügen bewegt werden müssen. Erklären Sie die Funktionsweise dieses<br />
Algorithmus.</p>
<pre><code class="language-cpp">#include&lt;stdio.h&gt;

void tower(int quelle, int hilf, int ziel, int n);

int main(void) {
  tower(1,2,3,3);
  return 0;
}

void tower(int quelle, int hilf, int ziel, int n) {
  if(n == 0) {
    printf(&quot;Bewege von %d nach %d\n&quot;, quelle, ziel);
  }
  else {
    tower(quelle, ziel , hilf , n-1);
    tower(quelle, 0 , ziel , 0);
    tower(hilf , quelle, ziel , n-1);
  }
}
</code></pre>
<p>checkt das irgendwer wirklich?</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/22476/türme-von-hanoi</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Jul 2026 18:41:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/22476.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 16 Dec 2002 20:55:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Türme von Hanoi on Mon, 16 Dec 2002 20:55:00 GMT]]></title><description><![CDATA[<p>Das Problem der Türme von Hanoi lässt sich wie folgt beschreiben: Gegeben sind 3<br />
senkrechte Stangen 1, 2 und 3. Auf Stange 1 liegen n durchlöcherte Scheiben, die nach<br />
oben zu immer kleiner werden. Dieser Scheibenstapel ist nach folgenden Regeln auf<br />
Stange 3 zu verlagern: es darf immer nur eine Scheibe bewegt werden und es darf nie<br />
eine größere auf einer kleineren Scheibe zu liegen kommen.<br />
Der folgende Algorithmus löst das Problem der Türme von Hanoi rekursiv. Es wird<br />
dabei ein Protokoll ausgegeben, von welcher Stange auf welche die Scheiben bei den<br />
einzelnen Zügen bewegt werden müssen. Erklären Sie die Funktionsweise dieses<br />
Algorithmus.</p>
<pre><code class="language-cpp">#include&lt;stdio.h&gt;

void tower(int quelle, int hilf, int ziel, int n);

int main(void) {
  tower(1,2,3,3);
  return 0;
}

void tower(int quelle, int hilf, int ziel, int n) {
  if(n == 0) {
    printf(&quot;Bewege von %d nach %d\n&quot;, quelle, ziel);
  }
  else {
    tower(quelle, ziel , hilf , n-1);
    tower(quelle, 0 , ziel , 0);
    tower(hilf , quelle, ziel , n-1);
  }
}
</code></pre>
<p>checkt das irgendwer wirklich?</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/133634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/133634</guid><dc:creator><![CDATA[mi+chl]]></dc:creator><pubDate>Mon, 16 Dec 2002 20:55:00 GMT</pubDate></item><item><title><![CDATA[Reply to Türme von Hanoi on Mon, 16 Dec 2002 21:17:00 GMT]]></title><description><![CDATA[<p>Jo! Die Idee dahinter ist, dass sich der Algorithmus jeweils nur um die letzte, größte Scheibe kümmert. Davor verlegt er durch einen rekursiven Aufruf einen Turm der Größe n-1 auf die Hilfsstange, danach verlegt er durch einen rekursiven Aufruf diesen Turm der Größe n-1 von der Hilfsstange auf die Zielstange. In einem Aufruf selbst wird nur die jeweils größte Scheibe des Turms auf die Zielstange verlegt.</p>
<p>[ Dieser Beitrag wurde am 16.12.2002 um 22:18 Uhr von <strong>Gregor</strong> editiert. ]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/133635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/133635</guid><dc:creator><![CDATA[Gregor]]></dc:creator><pubDate>Mon, 16 Dec 2002 21:17:00 GMT</pubDate></item><item><title><![CDATA[Reply to Türme von Hanoi on Mon, 16 Dec 2002 21:43:00 GMT]]></title><description><![CDATA[<p>ok...das prinzip ist ja nicht so schwer, aber wie kann man erkennen, das der code genau das macht?</p>
<p>welcher rekursionsaufruf ist für was zuständig (was soll mit jedem einzelnen erreicht werden?)...</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/133636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/133636</guid><dc:creator><![CDATA[mi+chl]]></dc:creator><pubDate>Mon, 16 Dec 2002 21:43:00 GMT</pubDate></item><item><title><![CDATA[Reply to Türme von Hanoi on Wed, 20 Dec 2006 08:58:24 GMT]]></title><description><![CDATA[<p>Ich habe keine Ahnung^^ :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195240</guid><dc:creator><![CDATA[RickJames]]></dc:creator><pubDate>Wed, 20 Dec 2006 08:58:24 GMT</pubDate></item><item><title><![CDATA[Reply to Türme von Hanoi on Wed, 20 Dec 2006 09:26:38 GMT]]></title><description><![CDATA[<p>Kurz gesagt: Jeder der drei Aufrufe kümmert sich um einen Teilsatz von Gregor's Aussage:</p>
<p>Gregor schrieb:</p>
<blockquote>
<p>Davor verlegt er durch einen rekursiven Aufruf einen Turm der Größe n-1 auf die Hilfsstange,</p>
</blockquote>
<p>-&gt; <code>tower(quelle, ziel , hilf , n-1);</code></p>
<p>Gregor schrieb:</p>
<blockquote>
<p>Jo! Die Idee dahinter ist, dass sich der Algorithmus jeweils nur um die letzte, größte Scheibe kümmert.</p>
</blockquote>
<p>-&gt; <code>tower(quelle, 0 , ziel , 0);</code> (theoretisch könnte man diesen Aufruf auch direkt durch die printf()-Anweisung ersetzen)</p>
<p>Gregor schrieb:</p>
<blockquote>
<p>danach verlegt er durch einen rekursiven Aufruf diesen Turm der Größe n-1 von der Hilfsstange auf die Zielstange.</p>
</blockquote>
<p>-&gt; <code>tower(hilf , quelle, ziel , n-1);</code></p>
<p>Edit: Ich sehe gerade das Datum des Beitrags <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4153">@Rick</a>: Was für einen Sinn siehst du darin, einen Uralt-Thread mit so einem sinnlosen Kommentar zu reanimieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195242</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 20 Dec 2006 09:26:38 GMT</pubDate></item><item><title><![CDATA[Reply to Türme von Hanoi on Wed, 20 Dec 2006 20:15:26 GMT]]></title><description><![CDATA[<p>Vielleicht möchte hier jmd. demonstrieren wie doof er ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195654</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 20 Dec 2006 20:15:26 GMT</pubDate></item></channel></rss>