Ihre Aufgabe ist es, den n-ten Term der RATS-Sequenz zu generieren, wobei n die Eingabe ist. Die RATS-Sequenz wird auch als umgekehrte Add-Then-Sort-Sequenz bezeichnet. Diese Sequenz finden Sie auch hier: http://oeis.org/A004000 .
Testfälle:
0 > 1
1 > 2
2 > 4
3 > 8
4 > 16
5 > 77
6 > 145
7 > 668
Beispielsweise ist die Ausgabe für 5 77, da 16 + 61 = 77. Danach wird die 77 sortiert.
Kürzeste Einreichung gewinnt. Dies ist meine erste Herausforderung, also hoffe ich, dass dies kein Duplikat oder so ist.
code-golf
sequence
arithmetic
justaprogrammer
quelle
quelle
Antworten:
MATL , 11
12BytesDie Eingabe ist eine Zeichenfolge (mit einfachen Anführungszeichen), die eine ganze Zahl in Unary darstellt . Die Eingabe von Zeichenfolgen ist für die Abfrage zulässig, und Unary ist ein gültiges Format .
Probieren Sie es online!
Erläuterung
quelle
05AB1E , 6 Bytes
Code:
Erläuterung:
Dies funktioniert auch mit einem 0-Byte- Programm.
quelle
05AB1E
indem Sie zuerst die führende Null entfernen und dann1
, as weglassen1E==E
. Dann bekommt man gerade mal5ABE
-2 Bytes.CJam, 15 Bytes
Teste es hier.
Erläuterung
quelle
Pyth,
171312 BytesProbieren Sie es mit dem Online-Dolmetscher aus .
quelle
Python 2, 72
Bei der rekursiven Funktion wird die Abkürzung für Python 2 verwendet
__repr__
, die abbricht, sobald die Funktion sehr große Werte erreicht (L
und an die Zeichenfolge der Zahl angehängt wird). Ich bin mir aus der Spezifikation nicht sicher, ob es eine Stelle gibt, an der wir anhalten können Wenn Sie jedoch nicht ändern, umstr()
nur 6 Bytes hinzuzufügen, wird die Ausgabe als Zeichenfolge mit 75 Bytes etwas kürzer:1 Byte gespart dank Trichoplax in dieser Version
quelle
or
im zweiten Codeblock?JavaScript ES6, 70 Byte
1 Byte dank @ user81655 gespeichert
seufz JavaScript ist wirklich wortreich. Ein Großteil (> 50%) des Codes bezieht sich nur auf Zeichenfolge + Array-Funktion + Verknüpfung + Umwandlung in int. Ich habe versucht, zu reduzieren, auszuwerten und alle möglichen Dinge, aber dies scheint die kürzeste zu sein.
Probieren Sie es online aus (Alle Browser funktionieren)
quelle
f=n=>n?[...+[...b=f(n-1)].reverse().join``+b+''].sort().join``:'1'
wenn die Rückgabe der Zeichenfolge erlaubt istBrachylog , 19 Bytes
Erläuterung
quelle
Haskell, 67 Bytes
Anwendungsbeispiel:
(g"1"!!) 7
->"668"
.Es handelt sich um eine direkte Implementierung der Definition: Beginnen Sie mit dem
"1"
wiederholten Anhängen des Umkehr-Add-Sort-Ergebnisses des aktuellen Elements. Die Hauptfunktion(g"1"!!)
wählt dasi
dritte Element aus.quelle
Julia, 77 Bytes
Dies ist eine Lambda-Funktion, die eine Ganzzahl akzeptiert und eine Ganzzahl zurückgibt. Um es aufzurufen, weisen Sie es einer Variablen zu.
Ungolfed:
quelle
Gelee,
13-12BytesIch bin mir sicher, dass dies wahrscheinlich Golf sein kann, da dies meine erste Antwort in Jelly / in einer stillschweigenden Sprache ist.
BEARBEITEN: 1 Byte gespeichert, dank Dennis
quelle
Java 1.8, 251 Bytes
Erweitert
quelle
interface
R anstelle vonclass
R, das 4 Byte kürzer ist?Im Ernst, 17 Bytes
Probieren Sie es online!
Erläuterung:
quelle
Lua,
179.156BytesIch kann nicht sehen, wie ich mehr Golf spielen kann, aber ich bin mir sicher, dass es einen Weg gibt.Dank @LeakyNun habe ich mir die Zeit genommen, mich damit zu befassen und richtig Golf zu spielen. Vielleicht könnte ich trotzdem ein paar Bytes gewinnen, wenn ich einen anderen Ansatz benutze.Ungolfed und Erklärungen
quelle
a=a<1 and 1or
zum Beispiel).Brachylog 2, 11 Bytes, Sprachnachstellung
Probieren Sie es online!
Erläuterung
Ich bin mir nicht ganz sicher, was dies mit Nullstellen macht, aber die Frage gibt keine besondere Behandlung an und sie erscheinen wahrscheinlich sowieso nicht in der Sequenz.
quelle
ES6, 79 Bytes
82 Bytes ohne
eval
:All diese Umbauten sind schmerzhaft.
@ edc65 Ich habe tatsächlich 4 Bytes gespart, indem ich von
map
zureduce
dieser Zeit gewechselt bin .quelle
for
ist kürzer:n=>eval("for(r=1;n--)r=+[...+[...r+''].reverse().join``+r+''].sort().join``")
n=0
, auch nachdem ich die Syntaxfehler behoben habe.Python 2, 91 Bytes
Eingabe als Ganzzahl, Ergebnis wird auf dem Bildschirm ausgegeben.
Das könnte mit ein bisschen Rekursionszauber viel kürzer sein, aber ich kann meinen Kopf noch nicht darum wickeln. Werde später einen neuen Look haben und diesen hoffentlich verbessern.
quelle
Python 2, 83 Bytes
quelle
Perl 6 , 40 Bytes
(Wenn Sie möchten, dass es ein Int zurückgibt, setzen Sie ein
+
Recht vor[~]
)Verwendung:
quelle
Mathematica 10.3,
6661 BytesZiemlich einfach.
quelle
PHP, 102 Bytes
Online Version
PHP, 95 Bytes
n <= 39
quelle
Java ,
171167163160 BytesProbieren Sie es online!
Nicht der längste Eintrag! \O/
quelle
Python 2 , 70 Bytes
Probieren Sie es online!
quelle
Axiom 146 Bytes
Test und Ergebnisse [RATS-Sequenz]
quelle
Tcl , 91 Bytes
Probieren Sie es online!
quelle