<?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[Probleme mit GNU MP]]></title><description><![CDATA[<p>Hi,</p>
<p>folgendes Programm soll später einmal die Fibonacci-Folge bis zu einem sehr großen Zahlbereich bearbeiten:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;gmp.h&gt;
#include &lt;gmpxx.h&gt;

using namespace std;

mpz_class fib (mpz_class n)
{
	if (n == 2)
		return 1;
	else if (n == 1)
		return 1;
	else
	{
		return fib (n - 1) + fib (n - 2);
	}
}

int main () {
	for (int i = 0; i &lt; 10; i++) {
		mpz_class n = i;
		cout &lt;&lt; fib(n);
	}

	return 0;
}
</code></pre>
<p>Ich hab es mit der GNU MP Library gemacht. Leider bekomme ich als Ausgabe nur:</p>
<pre><code>Segmentation fault
</code></pre>
<p>Das gleiche Programm mit einer anderen int main gibt eine richtige Ausgabe:</p>
<pre><code class="language-cpp">int main () {
cout &lt;&lt; fib(10);
return 0;
}
</code></pre>
<p>Das gibt richtigerweise 55 aus.</p>
<p>Wo liegt das Problem?</p>
<p>Vielen Dank</p>
<p>Joachim</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/219462/probleme-mit-gnu-mp</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 07:54:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/219462.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 Aug 2008 16:11:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit GNU MP on Sun, 03 Aug 2008 16:11:16 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>folgendes Programm soll später einmal die Fibonacci-Folge bis zu einem sehr großen Zahlbereich bearbeiten:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;gmp.h&gt;
#include &lt;gmpxx.h&gt;

using namespace std;

mpz_class fib (mpz_class n)
{
	if (n == 2)
		return 1;
	else if (n == 1)
		return 1;
	else
	{
		return fib (n - 1) + fib (n - 2);
	}
}

int main () {
	for (int i = 0; i &lt; 10; i++) {
		mpz_class n = i;
		cout &lt;&lt; fib(n);
	}

	return 0;
}
</code></pre>
<p>Ich hab es mit der GNU MP Library gemacht. Leider bekomme ich als Ausgabe nur:</p>
<pre><code>Segmentation fault
</code></pre>
<p>Das gleiche Programm mit einer anderen int main gibt eine richtige Ausgabe:</p>
<pre><code class="language-cpp">int main () {
cout &lt;&lt; fib(10);
return 0;
}
</code></pre>
<p>Das gibt richtigerweise 55 aus.</p>
<p>Wo liegt das Problem?</p>
<p>Vielen Dank</p>
<p>Joachim</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1558559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1558559</guid><dc:creator><![CDATA[fibofreak]]></dc:creator><pubDate>Sun, 03 Aug 2008 16:11:16 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit GNU MP on Sun, 03 Aug 2008 16:50:43 GMT]]></title><description><![CDATA[<p>Ich hab zwar keine Ahnung von GNU MP, aber wenn es dir nur darum geht, große Fibonacci-Zahlen zu berechnen. Dafür gibt es eine geschlossene Formel ohne Rekursion.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1558584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1558584</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 03 Aug 2008 16:50:43 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit GNU MP on Mon, 04 Aug 2008 07:12:00 GMT]]></title><description><![CDATA[<p>Der Fall fib(0); ist auch nicht abgefangen.</p>
<p>fib(0) = fib(0 - 1) + fib( 0 - 2)</p>
<pre><code class="language-cpp">mpz_class fib (mpz_class n)
{
    if(n == 0)
        return 0;
    else if(n == 1)
        return 1;
    else
    {
        return fib(n - 1) + fib(n - 2);
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1558785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1558785</guid><dc:creator><![CDATA[i_like_it]]></dc:creator><pubDate>Mon, 04 Aug 2008 07:12:00 GMT</pubDate></item></channel></rss>