Bei einer nicht negativen Zahl n
sortieren Sie die Ziffern n
nach ihrem ersten Vorkommen in pi .
Die Eingabe kann über das Argument cli oder STDIN und als Zeichenfolge, char [] oder Ganzzahl erfolgen. Sie können über Rückgabewert, Exit-Status oder STDOUT ausgeben.
Antworten:
Pyth,
86 BytesProbieren Sie es hier aus.
-1 dank Leaky Nun : Der Eingang wird das liefern,
0
wenn es jemals gebraucht wird.Trivial -1 dank Jakube : Backtick nicht benötigt (ah, wie habe ich das verpasst, WIE?!?).
quelle
0
am Ende nicht. Wenn die Eingabe a hat0
,0
würde das von der Eingabe bereitgestellt werden; Wenn der Eingang kein hat0
, spielt es keine Rolle.ox+.n0
Python 3 ,
4039 Bytes1 Byte danke an Jonathan Allan.
Probieren Sie es online!
quelle
3
, da find zurückkehrt,-1
wenn ein Element nicht gefunden wird.05AB1E ,
1097 BytesDank Leaky Nun 1 Byte gespart, der feststellt, dass das Herausfiltern von Duplikaten unnötig ist.
2 Bytes gespart dank Adnan .
Probieren Sie es online!
Erläuterung
quelle
13žsRvy†J
für 9 Bytesžq
anstelle von verwenden13žs
?Gelee , 10 Bytes
Probieren Sie es online!
Übernimmt die Eingabe als Ziffernfolge.
-3 Bytes dank @ETHproductions
Erläuterung
quelle
3145926870
kann als 4-stellige Basis-250-Zeichenfolge dargestellt werden (was bedeutet, dass es 6 Bytes anstelle von 10 benötigt), aber ich bin nicht sicher, wie ich es als solches komprimieren soll.“ṀSṪw’
werde dir geben3145926870
.Japt ,
109 Bytes8 Byte Code, +1 für das
-P
Flag.Probieren Sie es online! Übernimmt die Eingabe als Zeichenfolge.
Erläuterung
quelle
JavaScript (ES6), 54 Byte
Verwendet Strings für I / O.
quelle
Gelee ,
87 Bytes-1 Byte dank Dennis (benutze evtl.
0
im Eingang vorhandene, clevere.)Probieren Sie es online!
Wie?
quelle
3820009
(sqrt of14592468760081
) ist immer noch eine3
Zahl in der Basis250
.Ṿ
in deiner Erklärung ist falsch.CJam ,
1512108 BytesProbieren Sie es online!
-3: Verwenden Sie eine Zeichenfolge basierend auf der
P
Variable pi anstelle eines Literal.-2: Beschlossen, dass ich überhaupt keine Eindeutigkeit benötigen muss, da das Finden eines Index sowieso das erste Mal erfolgt. -2: Danke an jimmy23013 für einen interessanten Ansatz mit x mod 65536.
Erläuterung:
quelle
ci
die sogar wieder in eine Ganzzahl konvertiert würde.PHP, 71 Bytes
Die Regex-Lösung ist kürzer
oder
Online-Versionen
PHP, 78 Bytes
PHP, 112 Bytes
Online Version
quelle
C
10397 BytesProbieren Sie es online aus
quelle
char
inchar*p
andchar*t
Ruby, 50 Bytes
quelle
MATL , 14 Bytes
Probieren Sie es online!
Erklärung mit einem Beispiel
Das Symbol
;
wird als Zeilentrennzeichen in Matrizen verwendet. Ist[1 2 3]
also ein Zeilenvektor,[1; 2; 3]
ist ein Spaltenvektor und[1 2; 3 4]
ist eine quadratische Matrix. Letztere können der Übersichtlichkeit halber auch als dargestellt werdenBetrachten Sie die Eingabe
2325
als Beispiel.quelle
C (gcc) 78 Bytes
Probieren Sie es online!
quelle
C # Interactive,
3736 BytesEigentlich müssen Sie dies in C # interaktiv ausführen, um die richtigen Ergebnisse zu erzielen, aber ich denke, das ist, was Sie mit Exit-Status gemeint haben . Die Variable i ist eigentlich die Eingabevariable (sie kann beispielsweise eine Zeichenfolge sein), also im Grunde der Methodenparameter.
Ich denke, der Code selbst ist ziemlich einfach.
quelle
3
?i
irgendwo ist, damit er als Eingabe verwendet werden kann. Auch wenn Sie C # sagen, müssen Sieusing System.Linq;
in die Byteanzahl einschließen . Wenn dies jedoch Interactive ist, sollten Sie die Sprache als C # Interactive angeben, nicht nur als C #.05AB1E ,
56 Bytes (nicht konkurrierend )Musste feststellen, dass
0
in der Standardlänge pi Konstante nicht vorhanden ist.Probieren Sie es online!
quelle
Σ
neuer als die Herausforderung kennzeichnen .PHP,
6665 BytesDank Titus 1 Byte gespeichert.
quelle
Java 7, 110 Bytes
Erläuterung:
Testcode:
Probieren Sie es hier aus.
Ausgabe:
quelle
Clojure, 38 Bytes
Die Eingabe in Zeichenfolge gibt eine Folge von Zeichen zurück.
zipmap
Erstellt ein "Dictionary" -Objekt, das auch in einem Funktionskontext verwendet werden kann.Wenn die Eingabe garantiert eindeutig ist, können Sie dies einfach tun
#(filter(set %)"3145926870")
.quelle
PHP,
6968Immer noch von preg_filter besiegt, aber ich fand es selbst ganz nett. Vielleicht kann jemand ein paar Bytes abwerfen.
quelle
$c!=$d?:print$d
als Alternative$c==$d&&print$d
sehe ich im Moment nur_3145926870
statt "3145926870" 1 Byte speichernfor(;(~$d=$argn[$j++])?:~$c=_3145926870[++$i+$j=0];$c!=$d?:print$d);
ist auch eine funktionierende AlternativePerl 6 , 34 Bytes
Versuch es
quelle
k, 19 Bytes
Erläuterung:
quelle