Ich stecke hier fest und komme irgendwie nicht weiter. Ich hoffe, ihr könnt mir helfen.
Hintergrund: wann immer mir langweilig ist, oder besser: wenn ich nicht weiß, was ich programmieren soll, versuche ich mich an den Aufgaben bei Project Euler. Sobald ich die Sachen mal vom Englischen einigermaßen eingedeutscht habe, heißt es meist für mich: Schulbank drücken. Ich muss oft einige Stunden Wikipedia & Co. bemühen, bis ich die Fragestellung überhaupt verstanden habe (ich bin leider kein Akademiker und kenne deshalb of Begriffe wie Palindrom, Primfaktorzerlegung,... nicht). Ich erwarte auch nicht, dass es mit steigendem Schwierigkeitsgrad einfacher wird, aber zumindest kann ich dann sagen, dass ich etwas dazugelernt habe.

Nun zu meinem "Problem", von dem ich nicht weiß, WO ich anfangen soll.
http://projecteuler.net/index.php?secti ... lems&id=20" onclick="window.open(this.href);return false;
Der Aufgabentext lautet:
Also, kurz "gedacht": ich multipliziere die Zahlen 1..100 miteinander und das Ergebnis ist die gesuchte Zahl.n! means n × (n − 1) × ... × 3 × 2 × 1
Find the sum of the digits in the number 100!
Mir kommt es allerdings so vor, als würde das eine sehr, sehr große Zahl werden. Auch weiß ich, dass diese Aufgabe schon viele vor mir in anderen Sprachen gelöst haben.
Ergo müssen die Leute wissen, wie man mit Zahlen rechnet, die größer sind, als die Standardtypen ihrer Umgebung (C, Java, C++, ASM,...). Ich bezweifle, dass diese Leute alle irgendwelche Zusatzbibliotheken nutzen. Nein, das kann ich einfach nicht glauben.
Deshalb meine Frage an euch:
wie rechnet man mit Werten, die Größer sind, als die Standardtypen eurer Umgebung?
Wenn ich meinen Dokumenten und Erinnerungen glauben schenken darf, so ist ein Int64 die größte Zahl, die ich erfassen kann,
was bei weitem nicht ausreichen kann, wenn ich mir das von 1..100 überlege.
Könnte ihr mir einen Tipp geben? Danke und schöne Grüße,