<?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[Größten gemeinsamen Teiler rausfinden]]></title><description><![CDATA[<p>Ich möchte den größten gemeinsamen Teiler rausfinden, und wollte das mit dem Euklidischen Algorithmus machen, aber irgendwie blick ich da net so durch, bin wohl kein großese Mathe Genie (auch nicht in der Schule <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="😞"
    /> )!<br />
Ja also ich würde das jetzt so machen aber es geht nicht (kommt nä ganz komische Zahl raus):</p>
<pre><code class="language-cpp">int ggt(int a,int b)
{
    if (a&gt;b)
    {
        a=a-b;
        if (a&gt;b)
        {
            ggt(a,b);
        }
        if (a&lt;b)
        {
            ggt(b,a);
        }
    }
    if (b&gt;a)
    {
        b=b-a;
        if (b&gt;a)
        {
            ggt(b,a);
        }
        if (b&lt;a)
        {
            ggt(a,b);
        }
    }
    if (a==b)
    {
        return a;
    }
}
</code></pre>
<p>Aber so ging das doch (habs ich zumindestens in Erinnerung), oder nicht?<br />
Kann mir jemand helfen? Dankeschön schon mal im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171578/größten-gemeinsamen-teiler-rausfinden</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 11:55:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171578.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Jan 2007 20:42:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Größten gemeinsamen Teiler rausfinden on Fri, 26 Jan 2007 20:42:50 GMT]]></title><description><![CDATA[<p>Ich möchte den größten gemeinsamen Teiler rausfinden, und wollte das mit dem Euklidischen Algorithmus machen, aber irgendwie blick ich da net so durch, bin wohl kein großese Mathe Genie (auch nicht in der Schule <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="😞"
    /> )!<br />
Ja also ich würde das jetzt so machen aber es geht nicht (kommt nä ganz komische Zahl raus):</p>
<pre><code class="language-cpp">int ggt(int a,int b)
{
    if (a&gt;b)
    {
        a=a-b;
        if (a&gt;b)
        {
            ggt(a,b);
        }
        if (a&lt;b)
        {
            ggt(b,a);
        }
    }
    if (b&gt;a)
    {
        b=b-a;
        if (b&gt;a)
        {
            ggt(b,a);
        }
        if (b&lt;a)
        {
            ggt(a,b);
        }
    }
    if (a==b)
    {
        return a;
    }
}
</code></pre>
<p>Aber so ging das doch (habs ich zumindestens in Erinnerung), oder nicht?<br />
Kann mir jemand helfen? Dankeschön schon mal im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217815</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Fri, 26 Jan 2007 20:42:50 GMT</pubDate></item><item><title><![CDATA[Reply to Größten gemeinsamen Teiler rausfinden on Fri, 26 Jan 2007 20:47:58 GMT]]></title><description><![CDATA[<p>Wow, wie aufwendig.</p>
<pre><code class="language-cpp">int ggt(int a, int b)
{
    if (b == 0) return a;
    else        return ggt(b, a % b);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1217820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217820</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Fri, 26 Jan 2007 20:47:58 GMT</pubDate></item><item><title><![CDATA[Reply to Größten gemeinsamen Teiler rausfinden on Sat, 27 Jan 2007 10:30:10 GMT]]></title><description><![CDATA[<p>Fehlt ne Kleinigkeit, oder?</p>
<pre><code class="language-cpp">if(a&lt;b){int c=a;a=b;b=c;}
</code></pre>
<p>vor dem if(b==0)</p>
<p>Oder ueberseh ich da was?</p>
<p>EDIT: und wenn ich das richtig sehe meint der Threadersteller den Algorithmus durch Substrahieren, oder?</p>
<p>EDIT 2: ich HAB was uebersehen. War ja klar. Wird ja automatisch geswitched wenns nicht passt...</p>
<p>EDIT 3: ich glaube der &quot;gedachte&quot; Weg war:</p>
<pre><code class="language-cpp">int ggt(int a,int b){
    if(a==b) return a;
    if(a&gt;b) return ggt(b,a-b);
    return ggt(b-a,a);
}
</code></pre>
<p>Ist natuerlich nicht so performant wie die andere variante (und funktionniert nur fuer positive Zahlen) Aber da der Threadersteller nur - und kein % benutzt hat koennte er vielleicht diesen Algorithmus gemeint haben. Ich hoffe ich habe mich jetzt richtig erinnert, habe den nur einmal als Programmieruebung kurz schreiben muessen, aber eigentlich nie angewandt. Falls inkorrekt bitte berichtigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217948</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Sat, 27 Jan 2007 10:30:10 GMT</pubDate></item><item><title><![CDATA[Reply to Größten gemeinsamen Teiler rausfinden on Sat, 27 Jan 2007 09:14:05 GMT]]></title><description><![CDATA[<p>Nein, fehlt nicht. Wenn a und b falschrum sind, wird das beim ersten rekursiven Aufruf korrigiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217951</guid><dc:creator><![CDATA[SG1]]></dc:creator><pubDate>Sat, 27 Jan 2007 09:14:05 GMT</pubDate></item></channel></rss>