<?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[Primzahlen (Summe)]]></title><description><![CDATA[<p>Man schreibe ein C++-Programm, das nach Eingabe einer Zahl n für alle geraden Zahlen zwischen 4 und n alle Darstellungen als Summe zweier Primzahlen findet und ausgibt.</p>
<p>Eine mögliche Zeile der Ausgabe könnte z.B. sein:<br />
44=3+41=7+37=13+31</p>
<p>----</p>
<p>Ich habe da schon was gemacht, aber ich weiß nicht, wieso es nicht klappt, sieht jemand den Fehler/ die Fehler?</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

bool isprim(int a);
void sumprim(int n);

int main() {
  int p;
  cout &lt;&lt; &quot;Geben Sie eine ganze Zahl größer 6 ein.&quot; &lt;&lt; endl;
  cin &gt;&gt; p;
  sumprim(p);
}

bool isprim(int a){
  bool isprimnum = true;
  int div;

  for(div=2; div&lt;a; div++){
    if( a % div == 0) {
      isprimnum = false;
      break;
    }
  }
   return isprimnum;
}

void sumprim(int n){
int m, i, j, k;

for(i=3; 2*i&lt;n; i++){
  m=2*i;
   for(j=2; j&lt;m; j++){
     if(isprim(j)){
        for(k=j+1; k&lt;m; k++){
           if(isprim(k) &amp;&amp; j+k==m){
             cout &lt;&lt; m &lt;&lt; &quot;=&quot; &lt;&lt; j &lt;&lt; &quot;+&quot; &lt;&lt; k &lt;&lt; endl;
           }
        }
     }
   }
 }
}
</code></pre>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/317689/primzahlen-summe</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 15:27:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/317689.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 Jun 2013 16:16:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 16:24:33 GMT]]></title><description><![CDATA[<p>Man schreibe ein C++-Programm, das nach Eingabe einer Zahl n für alle geraden Zahlen zwischen 4 und n alle Darstellungen als Summe zweier Primzahlen findet und ausgibt.</p>
<p>Eine mögliche Zeile der Ausgabe könnte z.B. sein:<br />
44=3+41=7+37=13+31</p>
<p>----</p>
<p>Ich habe da schon was gemacht, aber ich weiß nicht, wieso es nicht klappt, sieht jemand den Fehler/ die Fehler?</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

bool isprim(int a);
void sumprim(int n);

int main() {
  int p;
  cout &lt;&lt; &quot;Geben Sie eine ganze Zahl größer 6 ein.&quot; &lt;&lt; endl;
  cin &gt;&gt; p;
  sumprim(p);
}

bool isprim(int a){
  bool isprimnum = true;
  int div;

  for(div=2; div&lt;a; div++){
    if( a % div == 0) {
      isprimnum = false;
      break;
    }
  }
   return isprimnum;
}

void sumprim(int n){
int m, i, j, k;

for(i=3; 2*i&lt;n; i++){
  m=2*i;
   for(j=2; j&lt;m; j++){
     if(isprim(j)){
        for(k=j+1; k&lt;m; k++){
           if(isprim(k) &amp;&amp; j+k==m){
             cout &lt;&lt; m &lt;&lt; &quot;=&quot; &lt;&lt; j &lt;&lt; &quot;+&quot; &lt;&lt; k &lt;&lt; endl;
           }
        }
     }
   }
 }
}
</code></pre>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331866</guid><dc:creator><![CDATA[LinuxC_newbie]]></dc:creator><pubDate>Mon, 17 Jun 2013 16:24:33 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 16:24:12 GMT]]></title><description><![CDATA[<pre><code>#include &lt;iostream&gt;
using namespace std;

bool isprim(int a);
void sumprim(int n);

int main()
{
    int p;
    cout &lt;&lt; &quot;Geben Sie eine ganze Zahl größer 4 ein.&quot; &lt;&lt; endl;
    cin &gt;&gt; p;
    sumprim(p);
}

bool isprim(int a)
{
    bool isprimnum = true;
    int div;

    for(div=2; div&lt;a; div++)
    {
        if( a % div == 0)
        {
            isprimnum = false;
            break;
        }
    }
    return isprimnum;
}

void sumprim(int n)
{
    int i, j;

    for(i=3; 2*i&lt;n; i++)
    {
        if(isprim(i))
        {
            j=n-i;
            if(isprim(j))
            {
                cout &lt;&lt; n &lt;&lt; &quot;=&quot; &lt;&lt; i &lt;&lt; &quot;+&quot; &lt;&lt; j &lt;&lt; endl;
            }
        }
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2331870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331870</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 17 Jun 2013 16:24:12 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 16:26:49 GMT]]></title><description><![CDATA[<p>Hallo, könntest Du vielleicht kurz sagen, was du verändert hast?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331873</guid><dc:creator><![CDATA[LinuxC_newbie]]></dc:creator><pubDate>Mon, 17 Jun 2013 16:26:49 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 16:47:07 GMT]]></title><description><![CDATA[<p>LinuxC_newbie schrieb:</p>
<blockquote>
<p>Hallo, könntest Du vielleicht kurz sagen, was du verändert hast?</p>
</blockquote>
<p>Vergleich mal dein sumprim mit volkards. Sind doch nur 15 Zeilen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331880</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 17 Jun 2013 16:47:07 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 16:48:33 GMT]]></title><description><![CDATA[<p>LinuxC_newbie schrieb:</p>
<blockquote>
<p>Hallo, könntest Du vielleicht kurz sagen, was du verändert hast?</p>
</blockquote>
<p>Habe nur die sumprim angefasst, aber die komplett verändert. dein vorgehen fand ich zu umständlich. als mensch würde ich ja auch nur bei n=44 das i von 2(uups, nicht 3!) bis 22 laufen lassen und j ist dann immer 44-i. und wenn i und j prim sind, habe ich einen treffer.<br />
edit: uups<sup>2</sup>, und &lt;= statt &lt;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331881</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 17 Jun 2013 16:48:33 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 17:00:05 GMT]]></title><description><![CDATA[<p>Aber ich soll doch für jede gerade Zahl zwischen 4 und 44 die möglichen Summen aus zwei Primzahlen ausgeben lassen und nicht für n=44.</p>
<p>Edit</p>
<p>Dann wohl in der main-function:</p>
<pre><code>int main()
{
  int p;
  cin &gt;&gt; p;
  for(int s=3; 2*s&lt;p; s++)
  {
    sumprim(2*s);
   }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2331883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331883</guid><dc:creator><![CDATA[LinuxC_newbie]]></dc:creator><pubDate>Mon, 17 Jun 2013 17:00:05 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 17:37:37 GMT]]></title><description><![CDATA[<p>Irgendwie geht es nicht... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f622.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--crying_face"
      title=";("
      alt="😢"
    /></p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

bool isprim(int a);
void sumprin(int n);

int main(){
  int p, q;
  cout &lt;&lt; &quot;Ganze Zahl größer 6 eingeben.&quot; &lt;&lt; endl;
  cin &gt;&gt; p;
  for(q=3; 2*q&lt;p; q++){
   sumprim(2*q);
  }
}

bool isprim(int a){
  bool isprimnum=true;
  int div;
  for(div=2; div&lt;a;div++){
   if(a % div ==0){
     isprimnum=false;
     break;
   }
  }
return isprimnum;
}

void sumprim(int n){
   int i, j;
   for(i=2; i&lt;n; i++){
     if(isprim(i)){
       j=n-i;
       if(isprim(j)){
        cout &lt;&lt; n &lt;&lt; &quot;=&quot; &lt;&lt; i &lt;&lt; &quot;+&quot; &lt;&lt; j &lt;&lt; endl;
       }
     }
   }
  }
</code></pre>
<p>Aber da kommt beim Kompilieren die Fehlermeldung:</p>
<p>error in function sumprim(int): statement cannot reslve adress of overloaded function</p>
<p>Was stimmt nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331900</guid><dc:creator><![CDATA[LinuxC_newbie]]></dc:creator><pubDate>Mon, 17 Jun 2013 17:37:37 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 17:35:36 GMT]]></title><description><![CDATA[<pre><code>#include &lt;iostream&gt;
using namespace std;

bool isprim(int a);
void sumprim(int n);

int main()
{
  int p;
  cin &gt;&gt; p;
  for(int s=2; 2*s&lt;=p; s++)
  {
    sumprim(2*s);
   }
}

bool isprim(int a)
{
    bool isprimnum = true;
    int div;

    for(div=2; div&lt;a; div++)
    {
        if( a % div == 0)
        {
            isprimnum = false;
            break;
        }
    }
    return isprimnum;
}

void sumprim(int n)
{
    int i, j;

    cout &lt;&lt; n ;
    for(i=2; 2*i&lt;=n; i++)
    {
        if(isprim(i))
        {
            j=n-i;
            if(isprim(j))
            {
                cout &lt;&lt; &quot;=&quot; &lt;&lt; i &lt;&lt; &quot;+&quot; &lt;&lt; j;
            }
        }
    }
    cout &lt;&lt; '\n';
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2331902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331902</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 17 Jun 2013 17:35:36 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 17:41:27 GMT]]></title><description><![CDATA[<p>Tut mir leid, aber wenn ich das kompiliere, was ohne Fehler passiert und dann ausführe, passiert gar nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331903</guid><dc:creator><![CDATA[LinuxC_newbie]]></dc:creator><pubDate>Mon, 17 Jun 2013 17:41:27 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 17:43:51 GMT]]></title><description><![CDATA[<p>LinuxC_newbie schrieb:</p>
<blockquote>
<p>Tut mir leid, aber wenn ich das kompiliere, was ohne Fehler passiert und dann ausführe, passiert gar nichts.</p>
</blockquote>
<p>Klar. Er wartet auf die Eingabe von p, der Obergrenze.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331904</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 17 Jun 2013 17:43:51 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 17:45:24 GMT]]></title><description><![CDATA[<p>Doch, sorry, ich habe nur den EIngabebefehl vergessen. Entschuldigung.</p>
<p>Was mich noch irritiert ist, wieso das i in sumprim solange erhöht wird, bis i&lt;2*n.</p>
<p>Wieso diese Grenze 2*n?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331905</guid><dc:creator><![CDATA[LinuxC_newbie]]></dc:creator><pubDate>Mon, 17 Jun 2013 17:45:24 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 17:50:52 GMT]]></title><description><![CDATA[<p>LinuxC_newbie schrieb:</p>
<blockquote>
<p>Doch, sorry, ich habe nur den EIngabebefehl vergessen. Entschuldigung.</p>
<p>Was mich noch irritiert ist, wieso das i in sumprim solange erhöht wird, bis i&lt;2*n.</p>
<p>Wieso diese Grenze 2*n?</p>
</blockquote>
<p>solange wie 2*i&lt;=n, also solange wie i&lt;=n/2</p>
<p>Ich verlange, daß i&lt;=j, damit er nicht ausgibt<br />
44=3+41=7+37=13+31=31+13=37+7=41+3</p>
<p>gewöhn Dir &quot;solange bis&quot; besser ab, In C++ sind es immer Laufbedingungen und keine Abbruchbedingungen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331906</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 17 Jun 2013 17:50:52 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 19:53:44 GMT]]></title><description><![CDATA[<p>Dankeschön! Jetzt hab' ich es verstanden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331938</guid><dc:creator><![CDATA[LinuxC_newbie]]></dc:creator><pubDate>Mon, 17 Jun 2013 19:53:44 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen (Summe) on Mon, 17 Jun 2013 20:00:44 GMT]]></title><description><![CDATA[<p>LinuxC_newbie schrieb:</p>
<blockquote>
<pre><code>bool isprim(int a)
{
    bool isprimnum = true;
    int div;
 
    for(div=2; div&lt;a; div++)
    {
        if( a % div == 0)
        {
            isprimnum = false;
            break;
        }
    }
    return isprimnum;
}
</code></pre>
</blockquote>
<p>Das hatten wir schonmal schöner (und schneller: Teiler nur bis zur Wurzel, Zweierschritte usw.) <a href="http://www.c-plusplus.net/forum/277751-20" rel="nofollow">http://www.c-plusplus.net/forum/277751-20</a>:</p>
<pre><code>// &gt;Test ob Primzahl
bool primtest (int p) {
  int zaehler;

  if (p == 2) return true;

  if (p %2 == 0) return false;

  for (zaehler = 3; zaehler * zaehler &lt;= p; zaehler = zaehler+2) {
    if (p % zaehler == 0) return false;
  }

  return true;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2331939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331939</guid><dc:creator><![CDATA[minastaros]]></dc:creator><pubDate>Mon, 17 Jun 2013 20:00:44 GMT</pubDate></item></channel></rss>