<?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 - Geschwindigkeit]]></title><description><![CDATA[<p>Hi,<br />
warum ist der erste Code bei großen Zahlen deutlich schneller als der zweite?<br />
Beim ersten werden ja bei &quot;for (unsigned j = 1; j &lt; i; ++j)&quot; immer alle Zahlen bis i geprüft, beim zweiten wird nur so oft geprüft wie schon Primzahlen im vector stehen - was deutlich weniger Überprüfungen sein müssten.</p>
<p>Mal davon abgesehen das es sicher keine gute Methode ist um Primzahlen zu finden müsste doch das zweite Programm schneller sein da es weniger Werte prüft.</p>
<pre><code>vector&lt;int&gt; checkForPrim(unsigned max) {
	vector&lt;int&gt;primeList;
	unsigned count = 0;

	for (unsigned i = 2; i &lt; max; ++i) {
		for (unsigned j = 1; j &lt; i; ++j) {
			if (i % j == 0)
				++count;
		}
		if (count &lt; 2)
			primeList.push_back(i);
		count = 0;
	}
	return primeList;
}
</code></pre>
<pre><code>vector&lt;int&gt; checkForPrim(unsigned max) {
	vector&lt;int&gt;primeList(1);
	primeList[0] = 2;
	unsigned count = 0;

	for (unsigned i = 2; i &lt; max; ++i) {
		for (unsigned j = 0; j &lt; primeList.size(); ++j) {
			if (i % primeList[j] == 0)
				++count;
		}
		if (count &lt; 1)
			primeList.push_back(i);
		count = 0;
	}
	return primeList;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/335168/primzahlen-geschwindigkeit</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 01:03:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/335168.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Nov 2015 14:49:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Primzahlen - Geschwindigkeit on Tue, 03 Nov 2015 14:55:44 GMT]]></title><description><![CDATA[<p>Hi,<br />
warum ist der erste Code bei großen Zahlen deutlich schneller als der zweite?<br />
Beim ersten werden ja bei &quot;for (unsigned j = 1; j &lt; i; ++j)&quot; immer alle Zahlen bis i geprüft, beim zweiten wird nur so oft geprüft wie schon Primzahlen im vector stehen - was deutlich weniger Überprüfungen sein müssten.</p>
<p>Mal davon abgesehen das es sicher keine gute Methode ist um Primzahlen zu finden müsste doch das zweite Programm schneller sein da es weniger Werte prüft.</p>
<pre><code>vector&lt;int&gt; checkForPrim(unsigned max) {
	vector&lt;int&gt;primeList;
	unsigned count = 0;

	for (unsigned i = 2; i &lt; max; ++i) {
		for (unsigned j = 1; j &lt; i; ++j) {
			if (i % j == 0)
				++count;
		}
		if (count &lt; 2)
			primeList.push_back(i);
		count = 0;
	}
	return primeList;
}
</code></pre>
<pre><code>vector&lt;int&gt; checkForPrim(unsigned max) {
	vector&lt;int&gt;primeList(1);
	primeList[0] = 2;
	unsigned count = 0;

	for (unsigned i = 2; i &lt; max; ++i) {
		for (unsigned j = 0; j &lt; primeList.size(); ++j) {
			if (i % primeList[j] == 0)
				++count;
		}
		if (count &lt; 1)
			primeList.push_back(i);
		count = 0;
	}
	return primeList;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2473954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2473954</guid><dc:creator><![CDATA[dentho]]></dc:creator><pubDate>Tue, 03 Nov 2015 14:55:44 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen - Geschwindigkeit on Tue, 03 Nov 2015 15:28:29 GMT]]></title><description><![CDATA[<p>Optimierungen <s>optimiert</s>aktiviert? Sonst erübrigt sich das.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2473961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2473961</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 03 Nov 2015 15:28:29 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen - Geschwindigkeit on Tue, 03 Nov 2015 15:17:26 GMT]]></title><description><![CDATA[<p>Der zweite Code sieht falsch aus. Da du mit 1 als Teiler anfängst, ist count am Ende in jedem Fall &gt;= 1, also werden überhaupt keine Primzahlen gefunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2473963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2473963</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 03 Nov 2015 15:17:26 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen - Geschwindigkeit on Tue, 03 Nov 2015 15:22:36 GMT]]></title><description><![CDATA[<p>Funktioniert schon, der erste Teiler ist 2 und beide Funktionen geben das gleiche aus. Der zweite Code ist nur deutlich langsamer obwohl die zweite Schleife weniger durchlaufen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2473964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2473964</guid><dc:creator><![CDATA[dentho]]></dc:creator><pubDate>Tue, 03 Nov 2015 15:22:36 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen - Geschwindigkeit on Tue, 03 Nov 2015 15:28:00 GMT]]></title><description><![CDATA[<p>Nathan schrieb:</p>
<blockquote>
<p>Optimierungen optimiert? Sonst erübrigt sich das.</p>
</blockquote>
<p>Edit: Lol, aktiviert nicht optimiert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2473966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2473966</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 03 Nov 2015 15:28:00 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen - Geschwindigkeit on Tue, 03 Nov 2015 15:32:00 GMT]]></title><description><![CDATA[<p>Ah alles klar <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 />
Weiß zwar nicht wo ich die direkt Aktivieren kann aber wenn ich von debug auf release wechsle ist es in 3 Sekunden statt x Minuten fertig <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="🙂"
    /> Danke für den Hinweis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2473970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2473970</guid><dc:creator><![CDATA[dentho]]></dc:creator><pubDate>Tue, 03 Nov 2015 15:32:00 GMT</pubDate></item><item><title><![CDATA[Reply to Primzahlen - Geschwindigkeit on Tue, 03 Nov 2015 15:46:24 GMT]]></title><description><![CDATA[<p>dentho schrieb:</p>
<blockquote>
<p>Funktioniert schon, der erste Teiler ist 2 und beide Funktionen geben das gleiche aus. Der zweite Code ist nur deutlich langsamer obwohl die zweite Schleife weniger durchlaufen wird.</p>
</blockquote>
<p>Ah, nvm.<br />
Hatte das</p>
<pre><code class="language-cpp">vector&lt;int&gt;primeList(1);
    primeList[0] = 2;
</code></pre>
<p>als</p>
<pre><code class="language-cpp">vector&lt;int&gt;primeList{1};
</code></pre>
<p>gelesen. Diese Initialisierung ist verwirrend weil unnötig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2473978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2473978</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 03 Nov 2015 15:46:24 GMT</pubDate></item></channel></rss>