Pi mal e (oder Pie, wenn Sie mehrdeutige Notation mögen) auf 100 Dezimalstellen ist:
8.5397342226735670654635508695465744950348885357651149618796011301792286111573308075725638697104739439...
( OIES A019609 ) ( Argument für mögliche Irrationalität )
Ihre Aufgabe ist es, ein Programm zu schreiben, das eine positive ganze Zahl N aufnimmt und Pi * e auf N Dezimalstellen abgeschnitten ausgibt. zB wenn N = 2, dann sollte der Ausgang sein 8.53
.
Dies ist ein Optimierungsproblem, daher gewinnt die Übermittlung, die die richtige Ausgabe für den höchsten Wert von N liefern kann.
Um sicherzustellen, dass alle Einsendungen mit derselben Rechenleistung beurteilt werden, muss Ihr Code auf ideone ausgeführt werden und eine beliebige Sprache verwenden, die sie unterstützen. Gemäß der ideone-FAQ gibt es ein Laufzeitlimit von 5 Sekunden für nicht angemeldete Benutzer. Diese 5-Sekunden-Grenze müssen Sie verwenden, nicht die 15-Sekunden-Grenze für angemeldete Benutzer. ( Weitere Einschränkungen wie Speicher, Codegröße usw. finden Sie in der FAQ .)
Insbesondere sollte jeder, der nicht bei ideone angemeldet ist, in der Lage sein, Ihr Programm auf ideone für alle Werte von N von 1 bis zu einem maximalen Nmax auszuführen und fast immer die richtige Ausgabe zu sehen . ohne irgendwelche Time limit exceeded
oder Memory limit exceeded
usw. Fehler. Die Einreichung mit dem größten Nmax gewinnt.
(Ob die tatsächlich benötigte Zeit ein Smidge über 5 Sekunden ist, spielt keine Rolle, solange Ideone keine Fehler liefert. " Fast die ganze Zeit " wird als mehr als 95% der Zeit für ein bestimmtes N definiert.)
Einzelheiten
- Sie können eine beliebige mathematische Methode verwenden, um Pi * e zu berechnen, aber Sie dürfen die Ausgabe nicht über die ersten Dutzend Stellen von Pi, e oder Pi * e hinaus fest codieren .
- Ihr Programm sollte bei unbegrenzten Ressourcen für jedes N funktionieren können.
- Sie können eingebaute Pi oder e Konstanten verwenden, wenn Ihre Sprache diese hat.
- Sie dürfen nicht auf Websites oder Ressourcen außerhalb Ihres Codes zugreifen (sofern ideone dies überhaupt zulässt).
- Abgesehen von der Hardcodierung und dem Zugriff auf externe Ressourcen ist alles, was ideone zulässt, mit ziemlicher Sicherheit in Ordnung.
- Ihre Eingabe und Ausgabe muss (offensichtlich) mit dem Ideone funktionieren, das für I / O vorgesehen ist (nur stdin / stdout, wie es scheint). Es ist in Ordnung, wenn Sie Anführungszeichen um den Eingang N benötigen oder der Ausgang so etwas wie
ans = ...
usw. ist. - Bitte fügen Sie einen Link zu einem Ideone-Snippet Ihres Codes mit Ihrem Nmax als Eingabe hinzu.
- Wenn es ein Unentschieden gibt (nur wahrscheinlich, wenn mehrere Einsendungen die 64-KB-Ausgabezeichengrenze erreichen), gewinnt die Antwort mit den höchsten Stimmen.