<?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[Rekursion]]></title><description><![CDATA[<p>Hi erst mal an alle <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Habe ein Problem mit Rekursion:</p>
<p>Ich möchte eine Funktion schreiben welche mir die Summe von 1 bis zu der übergebenen Zahl berechnet,,zusätzlich soll jede Zahl quadriert werden,,<br />
Also wenn der Parameter 3 wäre:</p>
<p>(1*2)+(2*2)+(3*2)=12</p>
<p>Nun bin ich dabei einen passenden Algorithmus zu formulieren,,und zwar rekursiv:</p>
<p>Leider ist das nicht so einfach wie ich dachte,,meine beiden Lösungsansätze sehen wie folgt aus:</p>
<p>int func(int n)<br />
{<br />
if(n&gt;0) n+=2*(func(n-1));<br />
return n;<br />
}</p>
<p>int func(int n)<br />
{<br />
if(n&gt;0) n+=func(n-1);<br />
return n*2;<br />
}</p>
<p>Beide Funktion liefern unterschiedliche, jedoch falsche Ergebnisse,,</p>
<p>Wo liegt da mein Denkfehler??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/123949/rekursion</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 19:24:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/123949.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Oct 2005 17:12:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Rekursion on Fri, 21 Oct 2005 17:12:27 GMT]]></title><description><![CDATA[<p>Hi erst mal an alle <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Habe ein Problem mit Rekursion:</p>
<p>Ich möchte eine Funktion schreiben welche mir die Summe von 1 bis zu der übergebenen Zahl berechnet,,zusätzlich soll jede Zahl quadriert werden,,<br />
Also wenn der Parameter 3 wäre:</p>
<p>(1*2)+(2*2)+(3*2)=12</p>
<p>Nun bin ich dabei einen passenden Algorithmus zu formulieren,,und zwar rekursiv:</p>
<p>Leider ist das nicht so einfach wie ich dachte,,meine beiden Lösungsansätze sehen wie folgt aus:</p>
<p>int func(int n)<br />
{<br />
if(n&gt;0) n+=2*(func(n-1));<br />
return n;<br />
}</p>
<p>int func(int n)<br />
{<br />
if(n&gt;0) n+=func(n-1);<br />
return n*2;<br />
}</p>
<p>Beide Funktion liefern unterschiedliche, jedoch falsche Ergebnisse,,</p>
<p>Wo liegt da mein Denkfehler??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898059</guid><dc:creator><![CDATA[AJ_Styles]]></dc:creator><pubDate>Fri, 21 Oct 2005 17:12:27 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Fri, 21 Oct 2005 17:36:06 GMT]]></title><description><![CDATA[<p>1. In Deinem Beispiel quadrierst Du nicht sondern multiplizierst mit 2. Quadrieren wäre:<br />
(1*1) + (2*2) + (3*3) + ...<br />
Das sieht irgendwie nicht sehr rekursiv aus...</p>
<p>2. Dein Algorithmus 1 liefert<br />
(für n = 2):<br />
2 + 2 * ( 1 + 2 * 0)<br />
(für n = 3):<br />
3 + 2 * ( 2 + 2 * ( 1 + 2 * 0)))</p>
<p>3. Dein Algorithmus 2 liefert:<br />
(für n = 2):<br />
(2 + ( 1 + 0 * 2) * 2) * 2<br />
(für n = 3):<br />
(3 + ( 2 + (1 + 0 * 2) * 2) * 2) * 2</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898084</guid><dc:creator><![CDATA[niemand]]></dc:creator><pubDate>Fri, 21 Oct 2005 17:36:06 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Fri, 21 Oct 2005 17:38:07 GMT]]></title><description><![CDATA[<p>AJ_Styles schrieb:</p>
<blockquote>
<p>zusätzlich soll jede Zahl quadriert werden,,<br />
Also wenn der Parameter 3 wäre:</p>
<p>(1*2)+(2*2)+(3*2)=12</p>
</blockquote>
<p>Das ist nicht Quadrieren, das ist einfaches Multiplizieren mit 2.</p>
<blockquote>
<p>Wo liegt da mein Denkfehler??</p>
</blockquote>
<p>Vollzieh doch mal auf dem Papier nach, was da z.B. bei 3 passiert. Dann siehst du, warum das nicht funktionieren kann.</p>
<p>n += ist schon mal ein merkwürdiger Ansatz. In deiner Formel steht nirgends 3+. Das erste, was mit n gemacht wird, ist eine Multiplikation.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898087</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 21 Oct 2005 17:38:07 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Fri, 21 Oct 2005 17:45:54 GMT]]></title><description><![CDATA[<p>Danke erstmal,,</p>
<p>mit anderen Worten: Problem eher iterativ lösen,,</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898101</guid><dc:creator><![CDATA[AJ_Styles]]></dc:creator><pubDate>Fri, 21 Oct 2005 17:45:54 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Fri, 21 Oct 2005 17:52:37 GMT]]></title><description><![CDATA[<p>AJ_Styles schrieb:</p>
<blockquote>
<p>mit anderen Worten: Problem eher iterativ lösen,,</p>
</blockquote>
<p>Nö, wieso? Das klappt auch rekursiv. Gib doch nicht gleich auf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/898109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898109</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 21 Oct 2005 17:52:37 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Fri, 21 Oct 2005 17:59:26 GMT]]></title><description><![CDATA[<p>Also ich würde folgenden Ansatz nehmen</p>
1\*a+2\*a+3\*a+...+n\*a  
=a(1+2+3+...+n)  
=\frac{a\*n\*(n+1)}{2}
<p>Wenn du da aber umbedingt eine Rekursion reinquetschen willst dann bleibt dir wohl nur das ganze mit einer als Endrekursion formulierten Schleife auszudrücken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898115</guid><dc:creator><![CDATA[Ben04]]></dc:creator><pubDate>Fri, 21 Oct 2005 17:59:26 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Fri, 21 Oct 2005 20:08:25 GMT]]></title><description><![CDATA[<p>Ich glaub ich lass es lieber sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Eine Frage noch: Auf wieviel MB ist der Stack unter XP begrenzt?? Gibt es eine Möglichkeit die Stackgröße in Visual C++ zu ändern??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898214</guid><dc:creator><![CDATA[AJ_Styles]]></dc:creator><pubDate>Fri, 21 Oct 2005 20:08:25 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Fri, 21 Oct 2005 20:32:18 GMT]]></title><description><![CDATA[<p>Standardmäßig wird eine Größe von 1MB allokiert. Das lässt sich über einen Compiler- bzw. Linkerswitch festlegen oder auch zur Laufzeit ändern. Wenn du einen neuen Thread erstellst, kannst du ja zum Beispiel direkt die Stackgröße dafür definieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898239</guid><dc:creator><![CDATA[masterofx32]]></dc:creator><pubDate>Fri, 21 Oct 2005 20:32:18 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Fri, 21 Oct 2005 20:59:22 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">double func(double n)
{
   if(n&lt;=1) return 1;
   return pow(n,2) + func(n-1);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/898261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898261</guid><dc:creator><![CDATA[prokaion]]></dc:creator><pubDate>Fri, 21 Oct 2005 20:59:22 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Sat, 22 Oct 2005 09:51:24 GMT]]></title><description><![CDATA[<p>Schön, wenn wir nun das pow noch eliminieren und wieder Ganzzahlen daraus machen, könnte der OP sicher damit leben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898530</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Sat, 22 Oct 2005 09:51:24 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Sat, 22 Oct 2005 11:02:17 GMT]]></title><description><![CDATA[<p>Funktioniert!!</p>
<p>Danke an alle,,</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898567</guid><dc:creator><![CDATA[AJ_Styles]]></dc:creator><pubDate>Sat, 22 Oct 2005 11:02:17 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Sat, 22 Oct 2005 17:26:04 GMT]]></title><description><![CDATA[<p>sorry... wer ist OP?</p>
<pre><code class="language-cpp">int func(int n)
{
   if(n &lt;= 1) return 1;
   return (n * n) + func(n - 1);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/898854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898854</guid><dc:creator><![CDATA[prokaion]]></dc:creator><pubDate>Sat, 22 Oct 2005 17:26:04 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Sat, 22 Oct 2005 17:54:54 GMT]]></title><description><![CDATA[<p>prokaion schrieb:</p>
<blockquote>
<p>sorry... wer ist OP?</p>
</blockquote>
<p>OP == Orginal Poster == AJ_Styles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>&lt;korintenkack&gt;</p>
<blockquote>
<pre><code class="language-cpp">int func(int n)
{
   if(n &lt;= 1) return 1;
   return (n * n) + func(n - 1);
}
</code></pre>
</blockquote>
<p>Ich glaube der OP wollte garnicht quadrieren, sondern einfach nur mit 2 multiplizieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
&lt;/korintenkack&gt;</p>
<p>Gruß Caipi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898877</guid><dc:creator><![CDATA[Caipi]]></dc:creator><pubDate>Sat, 22 Oct 2005 17:54:54 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Sat, 22 Oct 2005 18:54:17 GMT]]></title><description><![CDATA[<p>So siehts aus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Da hab ich mich wohl vertippt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/898914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898914</guid><dc:creator><![CDATA[AJ_Styles]]></dc:creator><pubDate>Sat, 22 Oct 2005 18:54:17 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Sun, 23 Oct 2005 00:24:37 GMT]]></title><description><![CDATA[<p>Soso, mit 2 multiplizieren, hm,<br />
na dann hab ich den ganzen code wohl umsonst geschrieben....<br />
schnauf!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/899100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/899100</guid><dc:creator><![CDATA[prokaion]]></dc:creator><pubDate>Sun, 23 Oct 2005 00:24:37 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Sun, 23 Oct 2005 00:28:10 GMT]]></title><description><![CDATA[<p>prokaion schrieb:</p>
<blockquote>
<p>Soso, mit 2 multiplizieren, hm,<br />
na dann hab ich den ganzen code wohl umsonst geschrieben....<br />
schnauf!</p>
</blockquote>
<p>warum heulst du deswegen gleich?? man war doch nicht viel code!! komm mal wieder klar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/899103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/899103</guid><dc:creator><![CDATA[cmnt.]]></dc:creator><pubDate>Sun, 23 Oct 2005 00:28:10 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Sun, 23 Oct 2005 00:34:01 GMT]]></title><description><![CDATA[<p>cmnt. schrieb:</p>
<blockquote>
<p>prokaion schrieb:</p>
<blockquote>
<p>Soso, mit 2 multiplizieren, hm,<br />
na dann hab ich den ganzen code wohl umsonst geschrieben....<br />
schnauf!</p>
</blockquote>
<p>warum heulst du deswegen gleich?? man war doch nicht viel code!! komm mal wieder klar.</p>
</blockquote>
<p>ich hoffe das meinst du nicht ernst xD</p>
]]></description><link>https://www.c-plusplus.net/forum/post/899106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/899106</guid><dc:creator><![CDATA[chris&#x27; 1]]></dc:creator><pubDate>Sun, 23 Oct 2005 00:34:01 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Sun, 23 Oct 2005 10:56:20 GMT]]></title><description><![CDATA[<p>ihr habt das echt ernst genommen? 2 zeilen code??<br />
und wo man aus dem n nur ne 2 machen muss??</p>
<p>natürlich war das NICHT ernst gemeint!!!</p>
<p>(nochmal für alle: NEIN, DASWARNICHTERNSTGEMEINNNNT!! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> )</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/899199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/899199</guid><dc:creator><![CDATA[prokaion]]></dc:creator><pubDate>Sun, 23 Oct 2005 10:56:20 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Sun, 23 Oct 2005 11:01:30 GMT]]></title><description><![CDATA[<p>Danke Prokaion,,</p>
<p>aber eigentlich müsste es heißen: if(n &lt;= 1) return 2; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/899202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/899202</guid><dc:creator><![CDATA[AJ_Styles]]></dc:creator><pubDate>Sun, 23 Oct 2005 11:01:30 GMT</pubDate></item><item><title><![CDATA[Reply to Rekursion on Sun, 23 Oct 2005 11:08:56 GMT]]></title><description><![CDATA[<p>uups! wohl wahr <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/899206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/899206</guid><dc:creator><![CDATA[prokaion]]></dc:creator><pubDate>Sun, 23 Oct 2005 11:08:56 GMT</pubDate></item></channel></rss>