Ihre Herausforderung besteht darin, x
Ziffern von pi zu drucken, wo x
Ihre Codelänge ist.
Beispiele:
Source code (length) -> output
foo! (4) 3.141
foobar (6) 3.14159
kinda long (10) 3.141592653
+++++ (5) 3.1415
123456789 (9) 3.14159265
Sie können damit die Anzahl der zu druckenden Ziffern bestimmen. Beachten Sie, dass der Dezimalpunkt nicht als Ziffer von pi zählt - daher sollte der Code der Länge 3 eine Ausgabe der Länge 4 haben.floor(π/10 * 10code_length) / 10code_length - 1
3.14
Regeln:
- Ihre Codelänge muss größer als drei Zeichen sein.
- Sie dürfen keine Standardlücken verwenden.
- Sie können alle zulässigen Standardausgabemethoden verwenden.
- Möglicherweise lesen Sie Ihre Quelle nicht, um die Codelänge zu bestimmen.
- Sie dürfen keine eingebaute pi-Konstante verwenden.
- Pi muss vollständig genau und nicht angenähert sein.
- Der Dezimalpunkt in der Ausgabe ist erforderlich. Wenn Sie über den Rückgabewert ausgeben möchten, müssen Sie eine Gleitkomma-Ganzzahl zurückgeben.
- Das Ziel dieser Herausforderung ist es, in jeder Sprache die kürzeste Lösung zu finden, nicht die kürzeste Sprache für die Lösung. Haben Sie keine Angst, eine Lösung in einer Sprache zu veröffentlichen, wenn eine kürzere Lösung in derselben Sprache veröffentlicht wird, solange Ihre Lösung eine andere Methode verwendet.
3
erlaubt?Antworten:
Japt ,
94 BytesSo kurz wie es nur geht :)
Enthält einen nicht druckbaren (umgekehrten Zeilenvorschub, Charcode 141) nach dem
#
.Probier es aus
In Japt wird jedes folgende Zeichen
#
in seinen Zeichencode konvertiert und an alle Ziffern oder Dezimalstellen angehängt, die ihm vorangehen können, in diesem Fall das3.
quelle
Mathematica, 18 Bytes
mit Zeta-Funktion
Probieren Sie es online aus!
quelle
Gelee , 9 Bytes
Probieren Sie es online aus!
Ausgänge
3.14159265
Wie es funktioniert
quelle
VBA (Excel), 15 Bytes
Ausgabe: 3.14159265358979
Ich denke, das ist nicht akzeptabel, da ich es nur auf die Länge des PI golfen habe. Die Länge ohne Golf beträgt 17 Bytes. D:
quelle
Atn
arktangent? Ich bin nicht sicher, ob dies erlaubt ist ... OP fragenGelee , 6 Bytes
Probieren Sie es online aus!
Druckt
3,14159
mit dem zulässigen "europäischen" Dezimaltrennzeichen,
.Wie?
quelle
,'
drin.-ÆAær5
und verwenden,.
anstatt,
, aber dann wäre es das gleiche wie meine Gelee-Lösung.Python 3 , 64 Bytes
Probieren Sie es online aus!
quelle
print'3.%d'%int('3p3aqd50r7654t9ywkfkgsm0yx0bikcluxlhsm',36)
.SOGL V0.12 ,
1097 BytesProbieren Sie es hier aus!
Erläuterung:
quelle
Desmos , 130 Bytes
Der Quellcode dafür (auf den durch Kopieren und Einfügen innerhalb und außerhalb von Desmos zugegriffen werden kann) ist nicht optimal, wenn er mit dem Desmos-Editor generiert wird. Daher wurden nach Möglichkeit einige Bytes Leerzeichen entfernt.
Dies definiert eine Funktion,
f
die keine Argumente akzeptiert und pi zurückgibt, berechnet mit der Gregory-Sequenz zuk=9^9
(Ich kann nicht bestätigen, dass dies genau genug ist, aber ich bin der Meinung, dass dies der Fall ist, es kann mit einem größeren Wert von k genauer gemacht werden ) Das Ergebnis wird dann auf128
Dezimalstellen begrenzt, die neben3.
der Länge des Quellcodes stehen.Probieren Sie es online aus!
quelle
3.14159265617
, schaue ich am falschen Ort; muss ich einen Knopf drücken?Holzkohle , 8 Bytes
Probieren Sie es online aus!
Nur eine komprimierte Zeichenfolge.
quelle
Javascript, 16 Bytes
quelle
CJam , 5 Bytes
Probieren Sie es online aus!
Wie es funktioniert
quelle
3.E
. : P, so oder so, erstaunlicher Missbrauch von IO.3'.EF
Neim , 5 Bytes
Erläuterung:
Probieren Sie es online aus!
quelle
APL, 6 Bytes
Nimmt den Imaginärteil von ln (-1).
Probieren Sie es online aus!
quelle
J , 16 Bytes
Probieren Sie es online aus!
Ähnlich wie bei der VBA-Antwort. Ausgänge :
3.141592653589793
.quelle
_3 o.1
berechnet atan (1). Wie Sie vielleicht gewusst haben, sind mir die Regeln bekannt.Math.JS , 17 Bytes.
Das sind 5 führende Felder
Dies berechnet auf 15 Dezimalstellen und druckt es implizit aus.
Probieren Sie es online aus!
quelle
ln(-1)
, aber da es sich um eine rein imaginäre Zahl handelt, entspricht dies der Division durchi
.05AB1E , 11 Bytes
Probieren Sie es online aus!
VERWENDUNG VON BUILT-INS:
05AB1E , 4 Bytes
Probieren Sie es online aus!
3žs
funktioniert aus irgendeinem Grund nicht ...quelle
E3.
, ich bin jetzt sauer auf mich selbst: p.ForceLang , 269 Bytes
quelle
MATL ,
98 BytesProbieren Sie es online aus!
Erläuterung:
Ein Byte dank Luis Mendo gespeichert!
quelle
Gelee , 6 Bytes
Probieren Sie es online aus!
Verwendet einen anderen Ansatz als die anderen Jelly-Antworten.
Wie?
-ÆA
ist der inverse Kosinus von-1
(der pi ist),ær5
ruft den benötigten Abschnitt ab. Es hat funktioniert, so dass Rundung in diesem Fall gleichbedeutend mit Abschneiden istquelle
Haskell , 15 Bytes
Probieren Sie es online aus!
Verwenden der @ JungHwanMin-Formel.
quelle
Perl 5, 40 Bytes
Erfordert die Befehlszeilenoption
-pMbignum
, die als 8 gezählt wird.Beispielnutzung:
Ich entschuldige mich für keinen TIO-Link, er scheint nicht zu unterstützen
bignum
(oder eine unübertroffene Öffnungsklammer ...).quelle
MEIN , 7 Bytes
Probieren Sie es online aus!
Wie?
’
Dekrementieren Sie die Oberseite des Stapels (0
wird geöffnet, wenn er leer ist, wodurch der Stapel erstellt wird[-1]
). (Gleiches Symbol wie Gelee)2
drücken2
.ō
, da die Oberseite des Stapels zwei ist, verwerfen Sie das2
Popn
und drücken Sie dannacos(n)
(im Bogenmaß ergibt dies pi, dieses Symbol hato
ein negatives Vorzeichen darübero
(für normalen Trigger) stammt von APL)."
, Pop das oberste Element des Stapels und schieben Sie es als String.8
drücken8
.↑
, popa
dannb
, pushb[:a]
(Dies ist ein weiteres Symbol aus APL).↵
, Ausgabe mit einer neuen Zeile (OUTPUT <- STACK).quelle
RPL (HP48), 86,5 Byte, 87 Stellen [Zählt das?]
GROB ist ein Bildschlüsselwort. Die 2 folgenden Zahlen sind Breite und Höhe. Die folgenden hexadezimalen Ziffern sind Bitmaps. Das ist 1 Byte Speicherplatz pro 2 Ziffern plus die Bildmetadaten.
Das leere Programm
« »
benötigt 10 Bytes. Ein Befehl benötigt 2,5 Bytes. Ein Float benötigt 10,5 Bytes, aber wenn es einer einstelligen Ganzzahl entspricht, kann es 2,5 Bytes dauern.HP48 speichert 4 statt 8 Bits an jedem Speicherort, sodass ein Byte 2 aufeinanderfolgende Speicherplätze belegt (Low Endian). Oft werden 20-Bit-Chunks verwendet, die 2,5 Byte (nicht 3) benötigen.
quelle
> <> , 16 Bytes
Probieren Sie es online aus!
Es gibt ein paar nicht druckbare Dateien, von denen die erste den Wert 26 und die zweite den Wert 141 hat.
quelle
Pyth , 9 Bytes
Probieren Sie es hier aus.
Funktioniert damit .
quelle
Ruby , 16 Bytes
Probieren Sie es online aus!
quelle
Excel VBA, 16 Bytes
Anonyme VBE-Sofortfensterfunktionen, die keine Eingabe und Ausgabe in die STDOUTs von Excel VBA übernehmen
Jede Zeile stellt eine separate Funktion dar, die Pi der Länge 16 zurückgibt
quelle
Oktave , 16 Bytes
Probieren Sie es online aus!
Es fällt mir schwer, mir vorzustellen, wie das kürzer sein könnte ...
quelle
PHP, 14 Bytes
Probieren Sie es online aus!
Ein bisschen knifflig, aber die Präzision von
M_PI
ist3.1415926535898
quelle
TI-BASIC, 7 Bytes
Diese drei Anweisungen werden gedruckt
3.141593
.Hinweis: TI-BASIC ist eine Token-Sprache. Die Anzahl der Zeichen entspricht nicht der Anzahl der Bytes.
quelle