<?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[Exponentieren mit Hilfe einer Rekursion]]></title><description><![CDATA[<p>hi,</p>
<p>ich habe versucht das Exponentieren mit Hilfe einer Rekursion in einer Funktion zu berechnen:</p>
<pre><code>double power(double x, int n)
{
    double product;
    int count;

    if (x==0)
       assert(n&gt;0);

    if(n &gt;= 0)
    {
          product = 1;
          for (count = 1; count &lt;= n; ++count)
             product = product * x;
          return product;
    }
    else
       return 1/power(x, -n);
}
</code></pre>
<p>Jetzt habe ich aber ein kleines problem, da die Funktion eine Laufzeit von log(n) haben sollte, ich denke ich muss dazu folgende Formel verwenden: x^2n = x^n x^n.<br />
Leider ist mir nicht ganz klar, wie ich meine Funktion am besten dafür umschreiben könnte, hat hier jemand vielleicht ein paar Tipps für mich...? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>matti</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/163903/exponentieren-mit-hilfe-einer-rekursion</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 12:32:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/163903.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Nov 2006 22:41:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Exponentieren mit Hilfe einer Rekursion on Thu, 02 Nov 2006 22:41:08 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>ich habe versucht das Exponentieren mit Hilfe einer Rekursion in einer Funktion zu berechnen:</p>
<pre><code>double power(double x, int n)
{
    double product;
    int count;

    if (x==0)
       assert(n&gt;0);

    if(n &gt;= 0)
    {
          product = 1;
          for (count = 1; count &lt;= n; ++count)
             product = product * x;
          return product;
    }
    else
       return 1/power(x, -n);
}
</code></pre>
<p>Jetzt habe ich aber ein kleines problem, da die Funktion eine Laufzeit von log(n) haben sollte, ich denke ich muss dazu folgende Formel verwenden: x^2n = x^n x^n.<br />
Leider ist mir nicht ganz klar, wie ich meine Funktion am besten dafür umschreiben könnte, hat hier jemand vielleicht ein paar Tipps für mich...? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>matti</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167341</guid><dc:creator><![CDATA[mathon]]></dc:creator><pubDate>Thu, 02 Nov 2006 22:41:08 GMT</pubDate></item><item><title><![CDATA[Reply to Exponentieren mit Hilfe einer Rekursion on Thu, 02 Nov 2006 23:29:40 GMT]]></title><description><![CDATA[<p>Das ist keine Rekursion. Du meinst wohl eher sowas:</p>
<pre><code class="language-cpp">double power(double x, int n) {
  if (n &lt; 0)
    return 1/power(x, -n);
  else if (n == 0)
    return 1.0;
  else
    return x * power(x, n-1);
}
</code></pre>
<p>Da kannst du jetzt auch (als zusätzlichen else-Zweig denk ich mal) deine Formel unterbringen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167353</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 02 Nov 2006 23:29:40 GMT</pubDate></item><item><title><![CDATA[Reply to Exponentieren mit Hilfe einer Rekursion on Fri, 03 Nov 2006 00:06:29 GMT]]></title><description><![CDATA[<p>ah super...danke...die frage ist für was ich jetzt überhaupt diese formel noch brauche x^2n = x^n x^n? ist die laufzeit bei dieser rekursion noch nicht log(n) oder...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167357</guid><dc:creator><![CDATA[mathon]]></dc:creator><pubDate>Fri, 03 Nov 2006 00:06:29 GMT</pubDate></item></channel></rss>