<?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[Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen?]]></title><description><![CDATA[<p>Hallo, bin grad am Denken und Grübeln wie ich das mit nem Algorithmus am geschicktesten hin bekomme..</p>
<p>ich habe n Zahlen! und wie den &quot;kleinesten&quot; gemeinsamen Teiler rausfinden, wobei es auc hder größe sein köntne weis nich genau:)</p>
<p>Bsp:</p>
<p>4 Zahlen</p>
<p>3, 4 , 7, 6</p>
<p>und will ich den kleinsten gemeinsamen Teiler bzw. den größten.. Gibts nen Alogirhtirums!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/183987/algorithums-größer-kleines-gemeinsamer-teile-mehrer-zahlen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 19:00:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/183987.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Jun 2007 10:11:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 10:11:16 GMT]]></title><description><![CDATA[<p>Hallo, bin grad am Denken und Grübeln wie ich das mit nem Algorithmus am geschicktesten hin bekomme..</p>
<p>ich habe n Zahlen! und wie den &quot;kleinesten&quot; gemeinsamen Teiler rausfinden, wobei es auc hder größe sein köntne weis nich genau:)</p>
<p>Bsp:</p>
<p>4 Zahlen</p>
<p>3, 4 , 7, 6</p>
<p>und will ich den kleinsten gemeinsamen Teiler bzw. den größten.. Gibts nen Alogirhtirums!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302981</guid><dc:creator><![CDATA[BorisDieKlinge80]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:11:16 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 10:21:35 GMT]]></title><description><![CDATA[<p>Hier die funktion, die den kleinsten gemeinsamen Teiler liefert (du musst nichtmals die Zahlen übergeben, aus denen er bestimmt werden soll!!!)</p>
<pre><code class="language-cpp">int kgt ()
{
   return 1;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1302988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302988</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:21:35 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 10:22:18 GMT]]></title><description><![CDATA[<p>und wie lautet der Größe gemeisame Teielr?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302989</guid><dc:creator><![CDATA[BorisDieKlinge80]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:22:18 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 10:24:00 GMT]]></title><description><![CDATA[<p>=ggt(ggt(ggt(3,4),7),6)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302991</guid><dc:creator><![CDATA[rapso]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:24:00 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 10:27:26 GMT]]></title><description><![CDATA[<p>hab nicht drüber nachgedacht, könnte als quatsch sein, aber ich würde sagen, du machst es so:</p>
<pre><code class="language-cpp">int ggt (int x, int y)
{
   // normaler ggt halt
}

int ggt (std::vector&lt;int&gt; const &amp; numbers)
{
   assert (numbers.size() &gt;= 2);

   int result = ggt (numbers[0], numbers[1]);

   for (std::vector&lt;int&gt;::const_iterator it=numbers.begin()+2; it!=numbers.end(); ++it) {
      result = ggt(result, *it);
   }
   return result;
}
</code></pre>
<p>Aber suchst du vielleicht auch das kleinste gemeinsame Vielfache?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302994</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:27:26 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 10:33:30 GMT]]></title><description><![CDATA[<p>ja das könnte auc hsein,, das kleines gemeinsame Viefache:</p>
<p>Ich will haben:</p>
<p>Bsp.:</p>
<p>8,3 = 24</p>
<p>3,2,1,3 = 6</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302997</guid><dc:creator><![CDATA[BorisDieKlinge80]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:33:30 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 10:38:32 GMT]]></title><description><![CDATA[<p>Prinzip ist das Selbe:</p>
<pre><code>kgv(8,3) // 24
kgv(3,kgv(2, kgv(1, 3))) // 6
</code></pre>
<p>kannst auch meinen interativen Code wieder verwendnen. Musst nur ggt durch kgv ersetzten.</p>
<p>Für zwei Opeanden findest du auch was in boost:</p>
<p>ggt: boost::math::gcd<br />
kgv: boost::math::lcm</p>
<p>(&lt;boost/math/common_factor_rt.hpp&gt;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303000</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:38:32 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 10:41:43 GMT]]></title><description><![CDATA[<p>aber dann komm ja immer nur &quot;1&quot; raus!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303005</guid><dc:creator><![CDATA[BorisDieKlinge80]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:41:43 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 10:46:20 GMT]]></title><description><![CDATA[<p>Wobei kommt 1 raus?<br />
Der ggt von 3, 4 , 7, 6 ist tatsächlich 1! Probier mal ... was weiß ich, 4, 8, 12, 28. Sollte dann 4 sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303006</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:46:20 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 10:46:27 GMT]]></title><description><![CDATA[<p>wies sieht die funktion kgv() aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303007</guid><dc:creator><![CDATA[BorisDieKlinge80]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:46:27 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 10:50:42 GMT]]></title><description><![CDATA[<p>Wie gesagt. genau, wie ggt, nur eben mit kgv:</p>
<pre><code class="language-cpp">int kgv (std::vector&lt;int&gt; const &amp; numbers) 
{ 
   assert (numbers.size() &gt;= 2); 

   int result = boost::math::lcm(numbers[0], numbers[1]); 

   for (std::vector&lt;int&gt;::const_iterator it=numbers.begin()+2; it!=numbers.end(); ++it) { 
      result = boost::math::lcm(result, *it); 
   } 
   return result; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1303011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303011</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:50:42 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 10:54:08 GMT]]></title><description><![CDATA[<p>ok danke für dein Bemühen... ich werde den code posten wenn es funzt;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303015</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303015</guid><dc:creator><![CDATA[BorisDieKlinge80]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:54:08 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 11:00:25 GMT]]></title><description><![CDATA[<p>Wieso, was funktioniert denn noch nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303023</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:00:25 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 11:01:03 GMT]]></title><description><![CDATA[<p>will boost nich verwenden....!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303025</guid><dc:creator><![CDATA[BorisDieKlinge80]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:01:03 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 11:04:17 GMT]]></title><description><![CDATA[<p>Value = Multipliaktion aller Zahlen miteindander als startwert!</p>
<p>p = zeiger auf die zahlen!!</p>
<pre><code class="language-cpp">bool Teilbar(int Value,int *p){

	for(int i=0; i&lt; 4; i++){
		if(Value%p[i]!=0)
			return false;
	}
	return true;
}

int divisor(int Value,int *p){

	int iMin = Value;

	int iDivisor=1;
	while(1){	

		if(Teilbar(iMin,p)){
			if(iMin%iDivisor)
				return iMin;
			iMin/=iDivisor;
		}	
		else
			return iMin*(--iDivisor);
		iDivisor++;	
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1303029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303029</guid><dc:creator><![CDATA[BorisDieKlinge80]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:04:17 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 11:06:36 GMT]]></title><description><![CDATA[<p>WTF? da weiß ich ja nichtmals, wie ich das aufrufen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303033</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:06:36 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 11:13:22 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int aiWerte[4] = {3,4,2,1};

//3*4*2*1= 24

int Erg= divisor(24,aiWerte);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1303037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303037</guid><dc:creator><![CDATA[BorisDieKlinge80]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:13:22 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 11:19:56 GMT]]></title><description><![CDATA[<p>Und die 24 rechne ich im Kopf aus?</p>
<p>Und was, wenn ich nicht 4, sondern nur 2 Werte habe, wie in deinem Beispiel &quot;3, 8&quot;?</p>
<p>Du hättest einfach copy&amp;pasten können:</p>
<pre><code class="language-cpp">int ggt (int x, int y)
{
	while (true)
	{
		if (x == 0)
			return y;
		y %= x;

		if (y == 0)
			return x;
		x %= y;
	}
}

int kgv (int x, int y)
{
	int tmp = ggt (x, y);

	if (tmp == 0)
		return 0;

	return x / tmp * y;
}

int ggt (int * numbers, int count) 
{ 
	assert (count &gt;= 2); 

	int result = ggt (numbers[0], numbers[1]); 

	for (int * it=numbers+2; it!=numbers+count; ++it) { 
		result = ggt(result, *it); 
	} 
	return result; 
}

int kgv (int * numbers, int count) 
{ 
	assert (count &gt;= 2); 

	int result = kgv (numbers[0], numbers[1]); 

	for (int * it=numbers+2; it!=numbers+count; ++it) { 
		result = kgv(result, *it); 
	} 
	return result; 
}
</code></pre>
<p>Verwendung:</p>
<pre><code class="language-cpp">int foo[] = {3,4,2,1};
int bar[] = {8,12};

int ggtFoo = ggt(foo, 4);
int kgvFoo = kgv(foo, 4);

int ggtBar = ggt(bar, 2);
int kgvBar = kgv(bar, 2);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1303041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303041</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:19:56 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 11:20:48 GMT]]></title><description><![CDATA[<p>oh danke.. perfekt;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303044</guid><dc:creator><![CDATA[BorisDieKlinge80]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:20:48 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 16:41:52 GMT]]></title><description><![CDATA[<p>wie wärs mit: kgv( zahlen ) = Produkt(Zahlen) / ggt(Zahlen)</p>
<p>Musst dann halt nur einen Algorithmus schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303344</guid><dc:creator><![CDATA[matimatiker]]></dc:creator><pubDate>Mon, 11 Jun 2007 16:41:52 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Mon, 11 Jun 2007 17:56:47 GMT]]></title><description><![CDATA[<p>Das was du suchst ist wird <em>Euklidischer Algorithmus</em> genannt.</p>
<p>Schau mal auf Wikipedia: <a href="http://de.wikipedia.org/wiki/Euklidischer_Algorithmus#Iterative_Variante" rel="nofollow">Euklidischer Algorithmus</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303408</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 11 Jun 2007 17:56:47 GMT</pubDate></item><item><title><![CDATA[Reply to Algorithums größer&#x2F;kleines gemeinsamer Teile mehrer zahlen? on Tue, 12 Jun 2007 04:23:07 GMT]]></title><description><![CDATA[<p>sowas wie:</p>
<pre><code class="language-cpp">ULONG MyKgv(std::vector&lt;ULONG&gt; &amp;vM){

	ULONG lMaxVielfaches=1,lDivisor=1;
	std::vector&lt;ULONG&gt;::iterator it = vM.begin();

	//Maximales Vielfaches als Startwert...
	for(; it&lt; vM.end(); it++)
		lMaxVielfaches*= *it;

	//Kleinster Vielfaches ermitteln
	while(1){	
		it = vM.begin();
		for(; it&lt; vM.end(); it++){
			if(lMaxVielfaches%(*it))
				return lMaxVielfaches*(--lDivisor);
		}
		if(lMaxVielfaches%lDivisor)
			return lMaxVielfaches;
		lMaxVielfaches/=lDivisor++;
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1303659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303659</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 12 Jun 2007 04:23:07 GMT</pubDate></item></channel></rss>