<?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[100! Fakultät exakt berechnen]]></title><description><![CDATA[<p>Hi,<br />
Ich habe von meinem Prof die Aufgabe bekommen die Fakultät von 100 genau zu berechnen.</p>
<p>Ich soll das mit Feldern und oder Strings lösen.<br />
Also keine Bibliothek wie GMP, NTL ...</p>
<p>Ich habe schon einen Teil der Aufgabe gelöst.</p>
<p>Mein Problem ist gerade, dass wenn ich die Fakultät von 5 berechnen will,ich einen Fehler mit dem Übertrag habe.</p>
<p>Bsp.</p>
<p>Ich schreibe die 5 in einen String um zu ermitteln in welches Feld ich die Zahl schreibe.<br />
Dann wird das Feld mit 4 multipliziert.<br />
5 * 4 = 20 --&gt; wird in einen String geschrieben und dann in Felder verteilt.<br />
Feld[0] = 2<br />
Feld[1] = 0<br />
er nimmt also die 2 * 3 = 6 und schreib diese dann in das Feld.<br />
Feld[0] = 6<br />
Feld[1] wird nicht mit 3 multpilziert. Das bekomm ich nicht hin.<br />
Müsste also &quot;nur&quot; ein Schleifenproblem sein.</p>
<p>Ich hoffe ich habe mein Problem verständlich geschildert.</p>
<p>MFG</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;     //----------------------------------------//
#include &lt;iostream&gt;    //--------- Fakultaetsrechner ------------//
#include &lt;string&gt;      //----------------------------------------//
#include &lt;sstream&gt;     //----------------------------------------//
#include &lt;math.h&gt;      //----------------------------------------//

using namespace std;
//------------------------------- Prozeduren ---------------------------------//

    char wieder;                                   //Wiederholung des Programmes
    int Zahl;                                      //Ausgangszahl
    int a1,a2,a3,b,n,o,p;                          //Hilfvariablen
    int Feld[19]={0};                              //Felddeklaration mit Nullen
    stringstream Str;
    string str,str2,str9;

int main()
{
    cout&lt;&lt;&quot;Dieses Programm berechnet die Fakultaet von n.&quot;&lt;&lt;endl;
    cout&lt;&lt;&quot;Bitte geben Sie nun einen Wert fuer n ein.&quot;&lt;&lt;endl;
    cin&gt;&gt;Zahl;

    Str&lt;&lt;Zahl;
    string Benutzereingabe(Str.str());             //Zahl an String
    cout&lt;&lt;&quot;Die laenge des Strings betraegt: &quot;&lt;&lt;Benutzereingabe.length()&lt;&lt;endl;
    cout&lt;&lt;&quot;Im String steht: &quot;&lt;&lt;Benutzereingabe&lt;&lt;endl;
    a1=Benutzereingabe.length()-1;                 //Länge wird an Variable...
                                                   //...übergeben
    cout&lt;&lt;&quot;Felderanzahl 1.a = &quot;&lt;&lt;a1+1&lt;&lt;endl;

    for(n=0;n&lt;=a1;n++)                             //Ermittlung der Elemente.
    {                                              //string
     str.assign(Benutzereingabe, n,1);             //
     stringstream Str1;
     Str1&lt;&lt;str;                                    //Übergabe an Hilfsstring.
     Str1&gt;&gt;b;
     Feld[n]=b;                                    //Feld mit Variable belegen.
     cout&lt;&lt;Feld[n]&lt;&lt;&quot; &lt;-- steht im Feld[&quot;&lt;&lt;n&lt;&lt;&quot;]&quot;&lt;&lt;endl;
    }
 do{     
//----------------------------- Fakultätsoperation ---------------------------//

    for(n=0;n&lt;=a2;n++)
    {
     for(o=0;o&lt;=a3;o++)
     {
      stringstream Str9;                           //Stringdeklaration
      Str9&lt;&lt;Feld[o];                               //Feld in String
      string verteilung(Str9.str());               //Berechnung der Elementezahl
      cout&lt;&lt;&quot;Verteilung = &quot;&lt;&lt;verteilung&lt;&lt;endl;     //Ausgabe am Bildschirm
      a3=verteilung.length()-1;                    //In Variable speichern
      str9.assign(verteilung,o,1);                 //Verteilung der Elemente...
      stringstream Str8;                           //...zu erst in einen String
      Str8&lt;&lt;str9;                                  //...dann in Hilfsstirng...
      Str8&gt;&gt;b;                                     //...dann in Variable...
      Feld[o]=b;                                   //..und zum schluss in Felder
     } 

     cout&lt;&lt;Feld[n]&lt;&lt;&quot; * &quot;;
     Zahl--;
     cout&lt;&lt;Zahl&lt;&lt;&quot; = &quot;; 
     Feld[n]=Feld[n]*Zahl;
     cout&lt;&lt;&quot;Im Feld[&quot;&lt;&lt;n&lt;&lt;&quot;] = &quot;&lt;&lt;Feld[n]&lt;&lt;endl&lt;&lt;endl;
//---------------------------- Übertragsprüfung ------------------------------//
     stringstream Str2;
     Str2&lt;&lt;Feld[n];
     string Neuverteilung(Str2.str());
     cout&lt;&lt;&quot;Zahl im String = &quot;&lt;&lt;Neuverteilung&lt;&lt;endl&lt;&lt;endl;
     a2=Neuverteilung.length()-1;
     cout&lt;&lt;&quot;Der String hat nun &quot;&lt;&lt;a2+1&lt;&lt;&quot; Stellen&quot;&lt;&lt;endl&lt;&lt;endl;
     str2.assign(Neuverteilung,n,1);
     stringstream Str3;
     Str3&lt;&lt;str2;
     Str3&gt;&gt;b;
     Feld[n]=b;
     cout&lt;&lt;Feld[n]&lt;&lt;&quot; &lt;-- steht im Feld[&quot;&lt;&lt;n&lt;&lt;&quot;]&quot;&lt;&lt;endl;

     if(a3!=a2) n--;  //wenn Übertraq entsteht, wird schleife um 1 veringert

    }
  }while(Zahl&gt;=3);
//--------------------------------- Ausgabe ----------------------------------//  

    int anzahl =(sizeof(Feld)/sizeof(Feld[19]));
    for(int i=0;i&lt;anzahl;i++)  //Ausgabe der Elemente im Feld
    cout&lt;&lt;i+1&lt;&lt;&quot;.Wert= &quot;&lt;&lt;Feld[i]&lt;&lt;endl;

cout&lt;&lt;endl;
//----------------------------------------------------------------------------// 
    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/202700/100-fakultät-exakt-berechnen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 23:03:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202700.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 14 Jan 2008 16:27:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 100! Fakultät exakt berechnen on Mon, 14 Jan 2008 16:27:33 GMT]]></title><description><![CDATA[<p>Hi,<br />
Ich habe von meinem Prof die Aufgabe bekommen die Fakultät von 100 genau zu berechnen.</p>
<p>Ich soll das mit Feldern und oder Strings lösen.<br />
Also keine Bibliothek wie GMP, NTL ...</p>
<p>Ich habe schon einen Teil der Aufgabe gelöst.</p>
<p>Mein Problem ist gerade, dass wenn ich die Fakultät von 5 berechnen will,ich einen Fehler mit dem Übertrag habe.</p>
<p>Bsp.</p>
<p>Ich schreibe die 5 in einen String um zu ermitteln in welches Feld ich die Zahl schreibe.<br />
Dann wird das Feld mit 4 multipliziert.<br />
5 * 4 = 20 --&gt; wird in einen String geschrieben und dann in Felder verteilt.<br />
Feld[0] = 2<br />
Feld[1] = 0<br />
er nimmt also die 2 * 3 = 6 und schreib diese dann in das Feld.<br />
Feld[0] = 6<br />
Feld[1] wird nicht mit 3 multpilziert. Das bekomm ich nicht hin.<br />
Müsste also &quot;nur&quot; ein Schleifenproblem sein.</p>
<p>Ich hoffe ich habe mein Problem verständlich geschildert.</p>
<p>MFG</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;     //----------------------------------------//
#include &lt;iostream&gt;    //--------- Fakultaetsrechner ------------//
#include &lt;string&gt;      //----------------------------------------//
#include &lt;sstream&gt;     //----------------------------------------//
#include &lt;math.h&gt;      //----------------------------------------//

using namespace std;
//------------------------------- Prozeduren ---------------------------------//

    char wieder;                                   //Wiederholung des Programmes
    int Zahl;                                      //Ausgangszahl
    int a1,a2,a3,b,n,o,p;                          //Hilfvariablen
    int Feld[19]={0};                              //Felddeklaration mit Nullen
    stringstream Str;
    string str,str2,str9;

int main()
{
    cout&lt;&lt;&quot;Dieses Programm berechnet die Fakultaet von n.&quot;&lt;&lt;endl;
    cout&lt;&lt;&quot;Bitte geben Sie nun einen Wert fuer n ein.&quot;&lt;&lt;endl;
    cin&gt;&gt;Zahl;

    Str&lt;&lt;Zahl;
    string Benutzereingabe(Str.str());             //Zahl an String
    cout&lt;&lt;&quot;Die laenge des Strings betraegt: &quot;&lt;&lt;Benutzereingabe.length()&lt;&lt;endl;
    cout&lt;&lt;&quot;Im String steht: &quot;&lt;&lt;Benutzereingabe&lt;&lt;endl;
    a1=Benutzereingabe.length()-1;                 //Länge wird an Variable...
                                                   //...übergeben
    cout&lt;&lt;&quot;Felderanzahl 1.a = &quot;&lt;&lt;a1+1&lt;&lt;endl;

    for(n=0;n&lt;=a1;n++)                             //Ermittlung der Elemente.
    {                                              //string
     str.assign(Benutzereingabe, n,1);             //
     stringstream Str1;
     Str1&lt;&lt;str;                                    //Übergabe an Hilfsstring.
     Str1&gt;&gt;b;
     Feld[n]=b;                                    //Feld mit Variable belegen.
     cout&lt;&lt;Feld[n]&lt;&lt;&quot; &lt;-- steht im Feld[&quot;&lt;&lt;n&lt;&lt;&quot;]&quot;&lt;&lt;endl;
    }
 do{     
//----------------------------- Fakultätsoperation ---------------------------//

    for(n=0;n&lt;=a2;n++)
    {
     for(o=0;o&lt;=a3;o++)
     {
      stringstream Str9;                           //Stringdeklaration
      Str9&lt;&lt;Feld[o];                               //Feld in String
      string verteilung(Str9.str());               //Berechnung der Elementezahl
      cout&lt;&lt;&quot;Verteilung = &quot;&lt;&lt;verteilung&lt;&lt;endl;     //Ausgabe am Bildschirm
      a3=verteilung.length()-1;                    //In Variable speichern
      str9.assign(verteilung,o,1);                 //Verteilung der Elemente...
      stringstream Str8;                           //...zu erst in einen String
      Str8&lt;&lt;str9;                                  //...dann in Hilfsstirng...
      Str8&gt;&gt;b;                                     //...dann in Variable...
      Feld[o]=b;                                   //..und zum schluss in Felder
     } 

     cout&lt;&lt;Feld[n]&lt;&lt;&quot; * &quot;;
     Zahl--;
     cout&lt;&lt;Zahl&lt;&lt;&quot; = &quot;; 
     Feld[n]=Feld[n]*Zahl;
     cout&lt;&lt;&quot;Im Feld[&quot;&lt;&lt;n&lt;&lt;&quot;] = &quot;&lt;&lt;Feld[n]&lt;&lt;endl&lt;&lt;endl;
//---------------------------- Übertragsprüfung ------------------------------//
     stringstream Str2;
     Str2&lt;&lt;Feld[n];
     string Neuverteilung(Str2.str());
     cout&lt;&lt;&quot;Zahl im String = &quot;&lt;&lt;Neuverteilung&lt;&lt;endl&lt;&lt;endl;
     a2=Neuverteilung.length()-1;
     cout&lt;&lt;&quot;Der String hat nun &quot;&lt;&lt;a2+1&lt;&lt;&quot; Stellen&quot;&lt;&lt;endl&lt;&lt;endl;
     str2.assign(Neuverteilung,n,1);
     stringstream Str3;
     Str3&lt;&lt;str2;
     Str3&gt;&gt;b;
     Feld[n]=b;
     cout&lt;&lt;Feld[n]&lt;&lt;&quot; &lt;-- steht im Feld[&quot;&lt;&lt;n&lt;&lt;&quot;]&quot;&lt;&lt;endl;

     if(a3!=a2) n--;  //wenn Übertraq entsteht, wird schleife um 1 veringert

    }
  }while(Zahl&gt;=3);
//--------------------------------- Ausgabe ----------------------------------//  

    int anzahl =(sizeof(Feld)/sizeof(Feld[19]));
    for(int i=0;i&lt;anzahl;i++)  //Ausgabe der Elemente im Feld
    cout&lt;&lt;i+1&lt;&lt;&quot;.Wert= &quot;&lt;&lt;Feld[i]&lt;&lt;endl;

cout&lt;&lt;endl;
//----------------------------------------------------------------------------// 
    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1436465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436465</guid><dc:creator><![CDATA[sepH2807]]></dc:creator><pubDate>Mon, 14 Jan 2008 16:27:33 GMT</pubDate></item><item><title><![CDATA[Reply to 100! Fakultät exakt berechnen on Mon, 14 Jan 2008 16:47:42 GMT]]></title><description><![CDATA[<p>machs andersrum. schreib die einser ins erste Feld, also s[0], die zehner nach s[1] usw. und dreh a Ende den ganzen Schmu um, dann lässt sich das leichter rechnen. Dann nimmste am Besten deinen Code und zerlegst ihn in Funktionen, um ihn lesbarer zu machen. So eine Mammutfunktion ist unübersichtlich, kein Wunder dass du da so ohne weiteres eventuelle Fehler nicht siehst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436488</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 14 Jan 2008 16:47:42 GMT</pubDate></item><item><title><![CDATA[Reply to 100! Fakultät exakt berechnen on Mon, 14 Jan 2008 16:48:37 GMT]]></title><description><![CDATA[<p>Uh man, nicht bös gemeint, aber dein Code ist grauslig :p</p>
<p>Ich finde du machst es dir etwas schwer. Vielleicht solltest du dir eine Klasse schreiben, die die großen Zahlen verwaltet, z.B. so</p>
<pre><code class="language-cpp">class BigNumber
{
    public:
        BigNumber( unsigned int init );
        void MultiplyWith( unsigned int num );
        void Show();

    private:
        // Die Variablen, die du dafür brauchst
};

int main()
{
    cout &lt;&lt; &quot;Dieses Programm berechnet die Fakultaet von n.&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Bitte geben Sie nun einen Wert fuer n ein.&quot; &lt;&lt; endl;

    unsigned int zahl;
    cin &gt;&gt; zahl;

    BigNumber fac( 1 );
    for ( unsigned int i=2; i&lt;=zahl; i++ )
        fac.MultiplyWith( i );

    fac.Show();
}
</code></pre>
<p>So hast du den ganzen Schrott nicht in der main-Funktion und kannst dich darauf konzentrieren, die MultiplyWith-Funktion zu implementieren. Musst dir halt vorher auf'm Papier überlegen, wie der Computer rechnen soll, dann kriegst du's sicherlich auch in Code-Form gegossen <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436491</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Mon, 14 Jan 2008 16:48:37 GMT</pubDate></item><item><title><![CDATA[Reply to 100! Fakultät exakt berechnen on Mon, 14 Jan 2008 17:14:05 GMT]]></title><description><![CDATA[<p>Hey danke für die schnellen Antworten.</p>
<p>Ja sry ich weiss, dass mein Programm grad sehr gruslig aussieht. Bin leider noch blutiger Anfänger<br />
Ich wollte auch meine Rechenschritte in eine Prozedur schreiben.<br />
Nur das wollte ich eben erst machen, wenn das Programm läuft, dass für den Fall es ich die Prozedur(en) nicht hinbekommen wenigstens etwas abgeben kann.</p>
<p>Ich werd mal versuchen mich mit deinem Code (Badestrand) auseinanderzustezen.<br />
Steig da grad nicht so dahinter.</p>
<p>Vielleicht seh ich den Wald vor lauter Bäumen nicht mehr.<br />
Bin schon seit über 1 Monat an der Aufgabe und das war bissher das beste was ich hinbekommen habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436510</guid><dc:creator><![CDATA[sepH2807]]></dc:creator><pubDate>Mon, 14 Jan 2008 17:14:05 GMT</pubDate></item><item><title><![CDATA[Reply to 100! Fakultät exakt berechnen on Mon, 14 Jan 2008 17:20:37 GMT]]></title><description><![CDATA[<p>Badestrand schrieb:</p>
<blockquote>
<pre><code>void MultiplyWith( unsigned int num );
</code></pre>
</blockquote>
<p>Bietet C++ nicht auch die Möglichkeit Operatoren wie bspw. * zu überladen, bzw. neu zu definieren? Wäre doch noch schöner!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436513</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436513</guid><dc:creator><![CDATA[*grimmsen**]]></dc:creator><pubDate>Mon, 14 Jan 2008 17:20:37 GMT</pubDate></item><item><title><![CDATA[Reply to 100! Fakultät exakt berechnen on Mon, 14 Jan 2008 18:48:09 GMT]]></title><description><![CDATA[<p>ºgrimmsenº<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/00ae.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--registered"
      title=":registered:"
      alt="®"
    /> schrieb:</p>
<blockquote>
<p>Badestrand schrieb:</p>
<blockquote>
<pre><code>void MultiplyWith( unsigned int num );
</code></pre>
</blockquote>
<p>Bietet C++ nicht auch die Möglichkeit Operatoren wie bspw. * zu überladen, bzw. neu zu definieren? Wäre doch noch schöner!</p>
</blockquote>
<p>Ich dachte das wäre vielleicht ein bisschen viel für den Anfang <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="🙂"
    /> Aber sonst hast du natürlich vollkommen Recht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436541</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Mon, 14 Jan 2008 18:48:09 GMT</pubDate></item><item><title><![CDATA[Reply to 100! Fakultät exakt berechnen on Tue, 15 Jan 2008 11:06:03 GMT]]></title><description><![CDATA[<p>man könnte auch einfach die GMP verwenden, die würd afaik inzwischen auch für C++ angeboten (wobei die Klassen glaub ich auch bloß Wrapper um die C Operationen sind)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436902</guid><dc:creator><![CDATA[Vorden]]></dc:creator><pubDate>Tue, 15 Jan 2008 11:06:03 GMT</pubDate></item><item><title><![CDATA[Reply to 100! Fakultät exakt berechnen on Tue, 15 Jan 2008 11:19:38 GMT]]></title><description><![CDATA[<p>Im produktiven Code wäre das eine Empfehlung, aber hier gilt:</p>
<p>sepH2807 schrieb:</p>
<blockquote>
<p>Ich soll das mit Feldern und oder Strings lösen.<br />
Also keine Bibliothek wie GMP, NTL ...</p>
</blockquote>
<p>Ansonsten solltest du das schriftliche Multiplizieren nachbauen (vergiss dabei Überträge nicht).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436916</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 15 Jan 2008 11:19:38 GMT</pubDate></item><item><title><![CDATA[Reply to 100! Fakultät exakt berechnen on Tue, 15 Jan 2008 11:24:01 GMT]]></title><description><![CDATA[<p>Hallo sepH2807,</p>
<p>Ich habe Deinen Code nicht gelesen, aber was erwartest Du denn als Ergebniss, wenn Du Feld[1] mit 3 multiplizierst. 3*0=0.</p>
<p>DJohn</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436921</guid><dc:creator><![CDATA[DJohn@work]]></dc:creator><pubDate>Tue, 15 Jan 2008 11:24:01 GMT</pubDate></item><item><title><![CDATA[Reply to 100! Fakultät exakt berechnen on Tue, 15 Jan 2008 11:54:45 GMT]]></title><description><![CDATA[<p>DJohn@work schrieb:</p>
<blockquote>
<p>Hallo sepH2807,</p>
<p>Ich habe Deinen Code nicht gelesen, aber was erwartest Du denn als Ergebniss, wenn Du Feld[1] mit 3 multiplizierst. 3*0=0.</p>
<p>DJohn</p>
</blockquote>
<p>Ja genau. Somit sollte dann später in jedem Feld eine Zahl stehen.</p>
<p>für Fakultaet von 10! = 3628800</p>
<p>Also:<br />
Feld[6] = 3<br />
Feld[5] = 6<br />
Feld[4] = 2<br />
Feld[3] = 8<br />
Feld[2] = 8<br />
Feld[1] = 0<br />
Feld[0] = 0</p>
<p>Das setzt natürlich auch überträge auf das nächste Feld voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436957</guid><dc:creator><![CDATA[sepH2807]]></dc:creator><pubDate>Tue, 15 Jan 2008 11:54:45 GMT</pubDate></item><item><title><![CDATA[Reply to 100! Fakultät exakt berechnen on Tue, 15 Jan 2008 12:16:53 GMT]]></title><description><![CDATA[<p>Im Grunde brauchst du folgendes:</p>
<p>Ein dynamisches Array (zB std::map&lt;int,Digit&gt;) das die Digits beinhaltet und die erste Stelle der Zahl an Stelle 0 steht usw.</p>
<p>Dann den * Operator der ein Digit mit einem anderen multipliziert. Den Übertrag gibst du dann an die nächste Stelle mit dem + Operator weiter und gehst mit diesem + so lange durch das Array bis kein Übertrag mehr da ist.</p>
<p>Wenn du ohne temporäre Variablen arbeitest musst du folgendes beachten:<br />
Bei * gehe von der höchsten Stelle bis 0 durch.<br />
Bei + gehe von der aktuellen Stelle Richtung der höchsten.</p>
<p>Ansonsten multiplizierst du den Übertrag immer gleich mit und ruinierst dir das Ergebnis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436988</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 15 Jan 2008 12:16:53 GMT</pubDate></item><item><title><![CDATA[Reply to 100! Fakultät exakt berechnen on Tue, 15 Jan 2008 13:17:28 GMT]]></title><description><![CDATA[<p>sorry, das mit der GMP hatte ich übersehen (also, dass die nicht verwendet werden darf)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1437035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1437035</guid><dc:creator><![CDATA[Vorden]]></dc:creator><pubDate>Tue, 15 Jan 2008 13:17:28 GMT</pubDate></item></channel></rss>