Herausforderung
Drucken Sie die folgenden Zeichen:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
Der Haken ist, dass Sie keinen von ihnen in Ihrem Code verwenden dürfen.
Sie können sie in beliebiger Reihenfolge mit oder ohne führende oder nachfolgende Zeile drucken, aber Sie dürfen keine anderen Zeichen drucken.
Regeln
- Sie dürfen keine Zeichen aus dem oben genannten Satz verwenden
- Sie können andere Zeichen verwenden
- Kein Schummeln
- Standardlücken verboten
- Dies ist Code-Golf , die kürzeste Antwort gewinnt.
Klarstellungen
- Wenn Ihre Sprache einen anderen Zeichensatz verwendet, dürfen Sie in diesem Zeichensatz keine Codepunkte verwenden, die alphanumerischen Zeichen entsprechen.
- Die Rückgabe einer Zeichenfolge aus einer Funktion wird als gültige Ausgabeform betrachtet.
- Sie können ein char-Array zurückgeben.
code-golf
string
kolmogorov-complexity
restricted-source
dkudriavtsev
quelle
quelle
Antworten:
V ,
87 BytesDank @DJMcMayhem wird 1 Byte gespart, indem alles in einer Regex-Anweisung zusammengefasst wird
Probieren Sie es online!
Ausgänge:
Hinweis:
×
ist nichtx
oderX
ist es0xd7
Hexdump:
Erläuterung
Jetzt sieht die Ausgabe so aus:
Wir müssen alle nicht-alphanumerischen Zeichen und das
_
(da es nicht in enthalten ist\W
) entfernen , also lasst uns das mit Regex machenquelle
Ó×ü_
:s/\W\|_//g
Oktave ,
52 4640 BytesDies ergibt
Erläuterung
Hier verwenden wir die Tatsache, dass Zeichen implizit in Ganzzahlen konvertiert werden, wenn arithmetische Operationen wie
+-
oder die Bereichsfunktion:
angewendet werden. Bei Verkettung mit einer leeren Zeichenfolge ([...,'']
) werden die Zahlen erneut in Zeichen umgewandelt.Probieren Sie es online!
quelle
+1
dafür, dass sie die erste nicht esoterische Sprache in einer Herausforderung ist, die sehr gut für Esolangs geeignet ist.+1
, nicht für die Verwendung von Octave (es ist ganz einfach), aber für das Golfspielen sehr gut, und_
als Variable verwenden! Ich hatte keine Ahnung, dass es möglich war ... Schön!Brainfuck ,
77767572 BytesProbieren Sie es online!
Wie es funktioniert
Der Interpreter beginnt mit einem Band mit 0 Zellen.
Dadurch wird die erste Zelle auf 8 gesetzt und das Band im folgenden Zustand belassen.
Diese Inkremente die zweite Zelle einmal, die dritte Zelle 6 mal, die vierte Zelle 4 mal dekrementiert die fünfte Zelle einmal, dann an den Anfang des Bandes geht zurück und dekrementiert die erste Zelle. Nach 8 Iterationen sieht das Band folgendermaßen aus.
Wir gehen zur zweiten Zelle über und erhöhen sie zweimal, um die Ziffern zu drucken.
Dadurch wird die dritte Zelle gedruckt, inkrementiert, dann zur zweiten Zelle zurückgekehrt und dekrementiert. Nach 10 Iterationen haben wir gedruckt
0123456789
und das Band sieht wie folgt aus.Zeit, das Band für die Briefe vorzubereiten! Wir beginnen mit dem Vorrücken von zwei Zellen.
Dies inkrementiert die fünfte Zelle einmal, die sechste Zelle zweimal, die siebte Zelle dreimal, geht dann zurück zur vierten Zelle und dekrementiert sie. Nach 32 Iterationen sieht das Band folgendermaßen aus.
Als letzten Schritt vor dem Drucken der Buchstaben fahren wir mit der fünften Zelle fort und erhöhen sie zweimal.
Schließlich gehen wir zur sechsten Zelle, um sie zu erhöhen und auszudrucken, machen dasselbe für die siebte Zelle, gehen dann zurück zur fünften Zelle und dekrementieren sie. Nach 26 Iterationen haben wir gedruckt
Aa...Zz
.quelle
Ruby, 42 Bytes
Eine Funktion, die ein char-Array zurückgibt. Ein Programm, das nur die Zeichen ausgibt, hat 49 Bytes:
Dies verwendet einfach die ASCII-Zeichen auf beiden Seiten der relevanten Bereiche, um einen Bereich zu definieren. Bedeutet zum Beispiel
?/...?:
die Zeichen zwischen einem Schrägstrich und einem Doppelpunkt, mit Ausnahme des Endes. Um die Anfänge loszuwerden, subtrahieren wir ein Array mit den drei Anfangszeichen.quelle
6502 Maschinensprache,
747068 BytesHex-Dump (6502-Programme können im Allgemeinen nicht verschoben werden; der Code wird hier ab Position $ 0603 gespeichert):
Sie sehen, dass dabei keines der verbotenen Bytes verwendet wird: 41 bis 5a, 61 bis 7a oder 30 bis 39.
Dies ist eine Funktion ohne Argumente, die beim Aufruf einen Zeiger auf das Zeichenarray "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" am Anfang des Stapels gemäß den Standardaufrufkonventionen 6502 zurückgibt.
Zur Erklärung hier eine Demontage:
Der maschinensprachliche Code ändert sich selbst. Für die Stapelmanipulation musste ich PHA und PLA verwenden, um den Akku zu pushen und zu platzieren, aber diese Anweisungen enthalten die verbotenen Opcodes $ 48 und $ 68 (dies sind die ASCII-Codes für die Buchstaben 'H' und 'h'). Also nehme ich für PHA die Zahl $ 24, mache eine arithmetische Verschiebung nach links (ASL) und speichere die resultierenden $ 48 an den vier Stellen im Code, an denen sie ausgeführt werden müssen. Dann verwende ich für PLA ein bitweises ODER auf den 48 $ im Akkumulator, um 68 $ zu berechnen, und speichere es an den beiden Stellen im Code, an denen es benötigt wird.
Es gab mehrere Anweisungen außer PHA und PLA, die ich auch nicht verwenden konnte, da ihre Opcodes zufällig mit ASCII-Buchstaben oder -Ziffern übereinstimmen, aber ich fand direkte Problemumgehungen für diese anderen.
Das gewünschte Zeichenarray wird ab Position 0 berechnet und gespeichert (es spielt keine Rolle, wo es gespeichert wird, da nur sichergestellt werden muss, dass ein Zeiger darauf oben im Stapel zurückgegeben wird).
Sie können dies am 6502-Assembler und -Emulator von Nick Morgan ausprobieren . Hier ist ein Screenshot; Das Monitorfeld unten zeigt die Ausgabezeichenfolge (an den Positionen $ 00 bis $ 3D), nachdem das Programm ausgeführt wurde.
quelle
Haskell ,
75 72 63 5856 BytesProbieren Sie es online! Mit anrufen
__
. Ausgabe:Dank an xnor, der vorgeschlagen hat,
__
und_'
als 2-Byte-Variablennamen anstelle von(!)
oder ähnlich, 9 Bytes zu sparen. Mir gefällt besonders, wie_'
die Syntaxhervorhebung bricht. Nochmals vielen Dank an xnor für die Verallgemeinerung der Bereiche und die Einsparung weiterer 4 Bytes.Edit: Ich fand heraus , dass Unicode - Zeichen als Bezeichner in Haskell erlaubt ist, so zum Beispiel
ä
,ö
... kann auch als Zwei - Byte - Bezeichner verwendet werden. Da im Programm noch ein Drei-Byte-Bezeichner vorhanden war, ersetzte ich ihn durchä
und sparte weitere 2 Byte.Erläuterung:
__
und_'
sind gültige Variablennamen. Aus der Sprachspezifikation :Der Code ist also äquivalent zu
In der Liste wird das Verständnis
a
an'/'
undb
an gebunden':'
("/:"
entspricht['/',':']
, damit der Mustervergleich erfolgreich ist). Dann bildet der Bereich[a..]
die Zeichenfolge aller Zeichen größer gleich'/'
:Für jedes Zeichen
x
in dieser Zeichenfolge wird dann geprüft, ob'/'<x
undx<':'
, was zu den Zeichen führt0123456789
. Danna
undb
sind gebunden an@
und[
und ergeben die ZeichenABCDEFGHIJKLMNOPQRSTUVWXYZ
und so weiter.quelle
__
und_'
als Variablen verwenden.Underscore is treated as a lower-case letter
Regel._'_=[__|[_',__']<-["`{","@[","/:"],__<-[_'..],_'<__,__<__']
(in normalen Variablenz=[x|[a,b]<-["`{","@[","/:"],x<-[a..],a<x,x<b]
).__
anstatt_'_
obwohl__
innerhalb der Liste Verständnis als Kennung verwendet.Perl (5.10 oder 5.12),
3029 BytesDieses Programm besteht hauptsächlich aus nicht druckbaren Zeichen. Hier ist ein Hexdump:
Dieses Programm ist sehr einfach: Wir regexen (
=~
) einen Unterstrich (_
; danke @Dennis für den Hinweis, dass dies funktioniert) gegen einen regulären Ausdruck. Der reguläre Ausdruck wird nicht wörtlich, sondern als Ausdruck angegeben. Insbesondere nehmen wir das bitweise Komplement (~
) eines Strings. Wenn Sie das bitweise Komplement umkehren, um an den zugrunde liegenden String zu gelangen, erhalten Sie den folgenden regulären Ausdruck, der ausgeführt wird:In den Perl-Versionen 5.10 und 5.12 war die
(?{…})
Syntax eine experimentelle Syntax, mit der reguläre Ausdrücke zur Laufzeit beliebigen Code ausführen können. In diesem Fall verwenden wir es, um ein einfaches Perl-Programm zum Drucken der gewünschten Ausgabe auszuführen. (Versionen vor 5.10 können nicht verwendet werden, da sie keine habensay
.)Moderne Perl-Versionen wurden
(?{…})
aus Sicherheitsgründen standardmäßig deaktiviert. Wenn Sie jedoch über eine solche Perl-Version verfügen, können Sie die Prüfung (und damit die Ausführung dieses Programms)-Mre=eval
als Befehlszeilenargument (zusammen mit dem Standard-M5.010
, der die Version angibt ) deaktivieren der zu implementierenden Sprache, und die nicht gegen die bytecount zählt).quelle
Eigentlich
854 BytesWie es funktioniert:
Der Ausdruck erfolgt implizit am Ende des Programms.
Edit 1: Ersetzt das Setzen des Alphabets in Klein- / Großbuchstaben und dann des Zahlenbereichs (10), indem nur die druckbaren Zeichen der Basis 62 abgerufen werden.
Edit 2: geändert ">" zu '> dank Mego :) 1 Byte gespeichert.
Probieren Sie es online!
quelle
'>
ist ein Byte kürzer als">"
.PHP, 69 Bytes
Der Code wird hier mit Windows-1252 stilisiert. Unten ist ein umkehrbarer xxd- Hexdump.
Probieren Sie es online!
quelle
Java (OpenJDK 9) , 277 Byte
Ja, Java, das hast du gut gelesen!
Probieren Sie es online!
Dadurch werden die Bereiche gedruckt, jedoch umgekehrt, da die Reihenfolge keine Bedeutung hat.
Ich habe das Fehlen einer "No Input" -Regel ausprobiert, um implizit eine zu definieren,
char
die erforderlich ist, damit das Ganze funktioniert. Wenn das Schummeln ist, sagen Sie es bitte.Ungolfed & Prüfung
quelle
char
, sonst wäre es ein Kinderspiel. Und um fair zu sein, meine Antwort ist kürzer als Ihre ursprüngliche Antwort. Schauen Sie sich meine Erklärung an, um zu erfahren, welchen Aufwand ich zu bewältigen habe.Brainfuck,
8985 BytesDa Brainfuck alphanumerische Zeichen sowieso ignoriert, ist dies nur eine Herausforderung mit konstanter Ausgabe ... (Bearbeiten: Siehe Dennis 'Lösung für eine Version, die 10 Byte kürzer ist)
Probieren Sie es online!
Dieser Code ist ein gutes Beispiel für grundlegende Zählschleifen in Brainfuck:
Beachten Sie, dass beim Generieren von Zahlen Umbruchverknüpfungen verwendet werden. Dies bedeutet, dass der Interpreter 8-Bit-Umbruchzellen haben muss (z. B. die, mit der ich verknüpft bin).
quelle
JavaScript (ES6), 983 Byte
Es stellte sich heraus, dass in ES6 viele Zeichen in JavaScript-Variablennamen verwendet werden können ! Funktioniert hervorragend, nachdem Sie die sechs 1-2-Byte-Variablennamen mit
$
und ausgeschöpft haben_
.JavaScript, 1223 Byte
Dies war meine Antwort, bevor ich davon erfuhr.
Ich bin
console.log('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890')
durch jjencode gelaufen und habe das Ergebnis manuell golfen. Es gibt definitiv mehr Optimierungen, die durchgeführt werden können.quelle
Befunge,
737259575553 BytesProbieren Sie es online!
Dies ist eine einzelne Schleife, die abwärts zählt
{
(dh ein Zeichen danachz
). Bei der ersten Iteration legt die"{"<
Sequenz zwei Kopien von{
auf den Stapel - eine ist der anfängliche Schleifenzähler und die andere dient zum Dekrementieren dieses Zählers unter Verwendung der Sequenz!!-
(zwei NOTs make1
, die dann subtrahiert werden). Bei nachfolgenden Iterationen befindet sich der Schleifenzähler bereits auf dem Stapel, sodass nur einer{
zum Einrichten der Dekrementierungssequenz erforderlich ist.Der Rest des Codes ist nur ein langer boolescher Ausdruck, der berechnet, ob sich das Zeichen im Bereich befindet. Wenn dies der Fall ist, wird der Zweig in der zweiten Zeile nach links geteilt, um den Wert zu schreiben. Wenn nicht, wird der rechte Zweig umgebrochen, um zu testen, ob wir Null erreicht haben und enden sollten. Die beiden Zweige verschmelzen in der Mitte, um die Schleife zu wiederholen. Beachten Sie, dass alle Befehle für die vertikale Richtung nach oben gerichtet sind, da wir a nicht verwenden können. Dies
v
ist jedoch in Ordnung, da der Anweisungszeiger automatisch am oberen Rand des Spielfelds umbrochen wird.Vielen Dank an Mistah Figgins, die sich zunächst eine bessere Technik für das Loop-Inkrement ausgedacht hat.
Ein besonderer Dank geht jedoch an Jo King für einen noch besseren Countdown und ein kompakteres Zweiglayout.
quelle
v
da dies eine eingeschränkte Quelle ist, aber es funktioniert genauso gut mit einem^
. Vielen Dank.Jelly ,
1716 BytesProbieren Sie es online!
Wie es funktioniert
quelle
Selbstmodifizierender Brainfuck , 32 Bytes
Probieren Sie es online!
xxd -r
-reversibler Hexdump (enthält nicht druckbare Dateien):quelle
@/
?`\x1a@\x1a/\n
sind da, weil ihre Codepunkte beim Golfen wirklich nützlich sind. Sie können sie nicht entfernen.+.
statt.+
.C 128 Bytes
Ja, C. Und es ist sogar kürzer als einige der esoterischen.
Rufen Sie
_
einen ausreichend großen, leerenchar *
Puffer auf.Kann ein winziger bisschen compilerabhängig sein. Getestet mit GCC; Datei wurde in Codepage 1252 gespeichert.
quelle
JavaScript (ES6),
812745657650536520416 BytesBearbeiten: Mit ISO8859-1-Codierung ist diese Lösung 416 Bytes anstelle von 520 Bytes. Das vollständige Programm umfasst 432 Bytes, wobei die zusätzlichen 16 Bytes für berücksichtigt werden
Dies ist eine Funktionsübermittlung im Gegensatz zu einem vollständigen Programm. Ich habe ziemlich viel Zeit damit verbracht, JJEncode ( Hutspitze für darrylyeo ) zu golfen , aber anstatt zu golfen
Ich habe Golf gespielt
wo
Ø
wird""
im Overhead initialisiert .Umgeschrieben mit Kommaoperatoren, die in Zeilenumbrüche umgewandelt wurden:
Erläuterung
In diesem Skript werden zunächst einige integrierte Typen initialisiert und in Zeichenfolgen umgewandelt. Die Zeichenfolgen, die wir ohne alphanumerische Zeichen erhalten können, sind:
Aus diesen Zeichenfolgen und den erforderlichen Ziffern, um einzelne Zeichen zu referenzieren, können wir die Zeichenfolgen
return
und erhaltenconstructor
, die wie folgt verwendet werden können:Der Konstruktor des Objekts ist
Object()
und sein Konstruktor istFunction()
, den wir im Wesentlichen wie verwenden könneneval()
.In diesem Fall besteht das
for
auszuführende codierte Skript aus den verschachtelten Schleifen, die alle alphanumerischen Zeichen unter Verwendung ihrer Codepunkte zu einer Zeichenfolge verketten und diese zurückgeben.Für alphabetische Zeichen im codierten Skript, auf die mit den integrierten Funktionen nicht zugegriffen werden kann, verwendet JJEncode Oktal-Escape-Zeichen, um sie darzustellen, und decodiert dann die gesamte Zeichenfolge, indem es sie von einer inneren Funktion zurückgibt. Die äußere Funktion kann dann aufgerufen werden, um die Quelle auszuführen.
Demo
quelle
Brain-Flak , 171 Bytes
Beinhaltet +3 für
-A
Probieren Sie es online!
Es gibt wahrscheinlich eine Möglichkeit, dies zu tun, ohne die Funktion add 1 wiederholen zu müssen.
quelle
Julia 0,4 , 46 Bytes
Dies ist eine generische Funktion, die ein Zeichenarray zurückgibt.
Probieren Sie es online!
Alternative Version, 47 Byte, nur ASCII
Probieren Sie es online!
quelle
J, 171 Bytes
Au ... mein Gehirn tut weh ... Online ausprobieren!
Hier ist, damit Sie alles in einer Zeile sehen können (es wird jedoch nicht mit Zeilenumbrüchen ausgeführt.)
Funktioniert garantiert nur mit der J-Version
j805/j64/linux/release/commercial/www.jsoftware.com/2016-12-11T08:02:52
in dieser Reihenfolge. (Nur die ersten 12 Zeichen sind wichtig.)Erläuterung
Der größte Teil des Programms ist der ständigen Generierung gewidmet. Wenn diese Konstanten durch ihre Werte ersetzt werden, sieht das Programm folgendermaßen aus:
Mit einigen Klammern entfernt und einige Zahlen schöner gemacht:
Dies setzt sich aus einer Reihe von
,
und,~
s zusammen, die Argumente anhängen und voranstellen. Hier sind die einzelnen Werte:":26
('.',~10{9!:14'')
'+/'
(":65 97 48)
','
(':',~12{9!:14'')
1
ist26
wie eine Zeichenfolge.9!:14''
generiert den folgenden String auf TIO:mit
2
erhalten wir das10
th-Zeichen (i
vonlinux
) und fügen.
am Ende ein hinzu, was ergibti.
.3
und5
sind selbsterklärend.4
ist die Liste der Zahlen65 97 48
als Zeichenfolge.6
ist ähnlich wie2
, mit der Ausnahme, dass es das12
th-Zeichen (u
vonlinux
) ist und:
am Ende ein fügt , was ergibtu:
.Dies alles zusammen ergibt
u:,65 97 48+/i.26
.".
bewertet dies und gibt uns:(Hinweis:
+/
ist zusätzlich tabellarisch aufgeführt.)Dann
62{.
nehmen wir mit die ersten62
Zeichen davon und geben unsABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
.quelle
<:<.^^*_
der ein Byte gespeichert wird. Außerdem habe ich versucht, den gesamten Bereich zu generieren und die Symbole zu entfernen, um':;<=>?@[\]^_`'-.~".(':',~(+:+:>.^*_){(*:>.^*_)!:(<:<.^^*_)''),":(#@}.@}.@}.@,~(+#\)],,~)(*:@#$])'+++++'
104 Bytes zu erhalten. Ich bin sicher, es kann viel kürzer werden05AB1E ,
181511 Bytes-4 danke an Adnan, denn wenn die Eingangsgröße 1 ist, verwendet 05AB1E beim ersten Befehl 0 für b.
Probieren Sie es online!
Ich habe so viele verschiedene Ansätze ausprobiert, aber die wichtigsten Punkte hier, die es schwierig machten:
quelle
You may print them in arbitrary order
sagt die Herausforderung.•£•Ýç©á®þ«˜
auch?Brainfuck, 55 Bytes
Ausgabe:
Probieren Sie es online!
Initialisiert das Band auf 3 · 2 n und arbeitet von dort aus.
quelle
Perl 6 , 43 Bytes - nicht konkurrierend
Ein Lambda, das eine Liste von Zeichen zurückgibt.
Erläuterung:
Hängt von einem Bugfix des Rakudo Perl 6-Interpreters ab, der heute nur für das Git-Repo verwendet wurde und noch nicht Teil einer offiziellen Rakudo-Veröffentlichung ist. Tatsächlich bin ich bei der Beantwortung dieser Herausforderung auf den Fehler gestoßen und habe es geschafft, ihn mithilfe eines der Perl 6-Kernentwickler zu beheben. Die Regeln dieser Site erlauben es, so wie ich sie verstehe, nicht, dass Antworten in einer solchen Situation konkurrieren. Deshalb habe ich sie als nicht konkurrierend markiert.
quelle
PHP 7.0+, 110 Bytes
Gott segne bitweise Fäden!
Ersetzen Sie die
\n
durch eine echte * NIX-ähnliche Newline.Es ist im Code enthalten, um Probleme mit Zeilenumbrüchen zu vermeiden, wird jedoch nicht in der Punktzahl berücksichtigt.
Dies wirft eine Reihe von Warnungen auf, die jedoch unterdrückt werden können, indem
@
vor jedem Streuner eine angefügt wird_
.Warnung frei , 113 Bytes
quelle
65c02 Maschinensprache + Apple] [ROM, 25 Bytes
Druckt
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
.Sollte um beginnen
$8000
.Demontage
quelle
10, 15, 26, 32, 44, 96, 128, 162, 169, 175, 192, 202, 208, 224, 237, 249, 253
die Zeichen, bei↵.. ,`.¢©¯ÀÊÐàíùý
denen es sich bei den.
s um nicht druckbare Zeichen handelt. Es ist gültigBash (unter Linux),
507493490485 BytesDadurch wird ein Array von Zeichen in der globalen Variablen gespeichert
__
es muss auf einem frisch gebooteten Linux-Rechner mit
/proc
oder so etwas wie einem PID-Namespace ausgeführt werdenErläuterung:
Zum Ausprobieren können wir
declare -p __
am Ende hinzufügen , um das Ergebnis anzuzeigenquelle
/proc
. Tatsächlich/proc
ist dies unter Linux nicht unbedingt erforderlich, obwohl es wahrscheinlich schwierig ist, eine moderne Distribution ohne diese zu finden.Javascript, 1273
13511610BytesDiese Lösung funktioniert im Wesentlichen auf die gleiche Weise wie die beiden anderen Antworten auf diesen Thread hier und hier , wo es Briefe von den verwendet
true
,false
,undefined
, und[object Object]
Strings , die die Funktionen zu bauen , dass es die anderen Buchstaben erzeugen muss.Da eine gute Anzahl der Buchstaben bereits in das Objekt eingefügt wurde, habe ich versucht, alle verbleibenden winzigen Buchstaben und die Zahlen zum Objekt hinzuzufügen, und dann
toUpperCase
auf alle Werte im Objekt angewendet , um die fehlenden majuskularen Buchstaben zu generieren.Aktualisieren:
Ich konnte die Art und Weise, wie die Oktalwerte eingestellt wurden, verbessern, aber sie belegen immer noch 13 x 30 Bytes (oder sie werden jeweils 30 Bytes sein, nachdem ich die Zahlen in verschiedene Schlüssel geändert habe) Muster:
$.ž=\'\\'+$.一+$.七+$.二+'\';
.Weitere 49 Bytes können einfach durch Umschalten der Zifferntasten auf 2 Byte Zeichen entfernt werden.
Aktuelle Einreichung:
quelle
C (clang) , 164 Bytes
Probieren Sie es online!
Dies ist eine rekursive Funktion, die die Zeichen ab einem Wert von 1 (von Selbst subtrahiert und inkrementiert) abruft und alle anderen Zahlen daraus erstellt.
Ungolfed / Erklärung:
quelle
CJam , 15 Bytes
Probieren Sie es online!
Erläuterung
quelle
8 Zeichen / 19 Bytes
Probieren Sie es hier aus!
ᶐ
die Großbuchstaben - Alphabet ist,ᶛ
ist die Kleinbuchstaben, und⩥Ⅹă⬯
ist Bereich (⩥
) aus ,0
um10
(Ⅹ
die Unicode römische Ziffer) minus1
, zusammen mit (ă
) nichts (⬯
).quelle