Grahams Zahl endet mit einer 7. Es ist eine massive Zahl, für deren Speicherung theoretisch mehr Informationen erforderlich sind als die Größe des Universums. Es ist jedoch möglich, die letzten Ziffern von Grahams Nummer zu berechnen.
Die letzten Ziffern sind:
02425950695064738395657479136519351798334535362521
43003540126026771622672160419810652263169355188780
38814483140652526168785095552646051071172000997092
91249544378887496062882911725063001303622934916080
25459461494578871427832350829242102091825896753560
43086993801689249889268099510169055919951195027887
17830837018340236474548882222161573228010132974509
27344594504343300901096928025352751833289884461508
94042482650181938515625357963996189939679054966380
03222348723967018485186439059104575627262464195387
Ihr Programm darf diese (oder ähnliche) Zahlen nicht enthalten, muss sie aber berechnen. Es muss 200 Stellen oder mehr berechnen.
Ausgabe auf Standardausgabe. Laufzeit von maximal 2 Minuten auf anständiger Hardware. Kürzeste Sendung gewinnt.
3**7625597484987
während Python tut :)Antworten:
DC - 21 Zeichen
Dies dauert auf meinem Computer ungefähr eine Minute und würde bei Werten über 200 erheblich länger dauern. Führende Nullen werden nicht ausgegeben.
Hier ist eine etwas längere, aber schnellere Version (26 Zeichen):
quelle
Haskell, 99
Leistung ist nicht herausragend, schafft es aber, auf meiner jahrzehntealten Hardware in einer Minute 500 Stellen zu berechnen.
(Übrigens, ich würde gerne etwas über die Leistung auf moderner Hardware erfahren.)
quelle
ghc -o g.exe g.hs
. Ich bin mir nicht sicher, ob dies der beste Weg ist, um zu kompilieren.ghc -O3 graham.hs
die empfohlenen Badass-Optionen aus dem Online-Dokument ausgeführt-O2 -fvia-C
. (und es sieht so aus, als ob mein GHC bereits ein paar Veröffentlichungen hinter sich hat)-O3
und-O2 -fvia-C
in ungefähr 18,3 Sekunden mit der gleichen Geschwindigkeit zu laufen .Python - 41 Zeichen
499 Stellen
500 Stellen
quelle
Python -
625955 ZeichenDauert auf meinem PC ungefähr 12 Sekunden.
quelle
10**500
Axiom, 63 Bytes
ungolf und ergebnis
# a = 203 bedeutet, dass die Anzahl len> 200 ist. Es wird auch darauf hingewiesen, dass es zuerst keine 0 gibt.
quelle
Headsecks, 602 Bytes
Druckt die letzten 200 Ziffern.
Bitte entfernen Sie die Zeilenumbrüche, bevor Sie loslegen.
quelle