Ihre Aufgabe ist es, genau diesen Text auszudrucken:
z
yz
xyz
wxyz
vwxyz
uvwxyz
tuvwxyz
stuvwxyz
rstuvwxyz
qrstuvwxyz
pqrstuvwxyz
opqrstuvwxyz
nopqrstuvwxyz
mnopqrstuvwxyz
lmnopqrstuvwxyz
klmnopqrstuvwxyz
jklmnopqrstuvwxyz
ijklmnopqrstuvwxyz
hijklmnopqrstuvwxyz
ghijklmnopqrstuvwxyz
fghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
defghijklmnopqrstuvwxyz
cdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
Fall spielt keine Rolle.
Denken Sie daran, dies ist Code-Golf , also gewinnt der Code mit der geringsten Anzahl von Bytes.
code-golf
kolmogorov-complexity
alphabet
Oliver Ni
quelle
quelle
Antworten:
Cheddar,
50454237 BytesEinfach, aber mit Cheddars konsistenter Range-Syntax (sowohl numerisch als auch alphabetisch)
Probieren Sie es online!
Erläuterung
65
ist Zeichencode fürA
und90
fürA
quelle
Z
ist90
nichtA
.05AB1E ,
1513 BytesProbieren Sie es online! (etwas anders als oben, da
ú
noch nicht auf TIO)Erläuterung
quelle
Python 2, 70 Bytes
Portiert aus Emignas Antwort, -2 Bytes zum Ersetzen
-i-1
durch~i
quelle
R,
67 6659 BytesBEARBEITEN: Sparte dank @rturnbull ein paar Bytes
Wenn Sie die Tatsache ausnutzen, dass eine an die
rep
Funktion übergebene Zahl automatisch auf die nächste Ganzzahl (z. B.rep("*",1.99) => "*"
) abgerundet wird, bedeutet dies, dass die tatsächlich übergebene Sequenz wie folgt lautetfloor(13-1:26/2)
:quelle
14...-1
durch13
?25:0
statt1:26
, können Sie ändern13-i/2
zui/2
und vereinfachen(27-i):26
zui:25+1
und spart 6 Byte.Pyth, 15 Bytes
Ein Programm, das das Ergebnis an STDOUT ausgibt.
Probieren Sie es online aus
Wie es funktioniert
quelle
;
statt\
Python 2, 52 Bytes
Sammelt die
s
zu druckende Zeichenfolge und aktualisiert die Anzahl der führenden Leerzeichenn/2
. EINwhile
Schleife, die an endet,0
ist eine seltene numerische Schleife, die eineexec
Schleife übertrifft (53 Byte):Auch eine 53-Byte-Alternative:
quelle
JavaScript (ES6),
85756968 Byte-1 Byte dank @ l4m2 .
quelle
for(s=a='',x=36;--x>9;)s+=` `.repeat(x/2-5)+(a=x.toString(36)+a)+'#'
1B kürzerBrain-Flak , 244 Bytes
Probieren Sie es online!
Dies sollte so wie es ist ausreichend lesbar sein. Wenn Sie es brauchen, habe ich eine vollständige Erklärung:
quelle
This should be readable enough as is.
Du sprichst von Brain-Flak , oder?Jelly ,
15 bis13 Bytes-2 Bytes dank @miles (bildete eine Niladenkette, von der ich vermutete, dass sie existiert, aber nicht gebildet wurde)
TryItOnline!
Wie?
quelle
ØaJ’H⁶ẋżṫJ$ṚY
, das 2 Bytes spartC
7268 Bytesquelle
05AB1E , 5 Bytes
Probieren Sie es online!
quelle
Turtlèd ,
7068 Bytesbeachte das nachgestellte Leerzeichen
Probieren Sie es online!
Wie es funktioniert:
Vom Menschen lesbare Erklärung (?):
Es verwendet die Zeichenfolge var, um das Alphabet zu enthalten. Bei jeder Iteration wird der Index um eins reduziert, bis er umbrochen und angehalten wird, nachdem die letzte Zeile erreicht wurde. Für die alternierenden Einrückungen wird die Zeichenvariable verwendet. Bei jeder Iteration wird das Zeichen var überprüft und umgedreht. wenn es * war, verschiebt es sich nach rechts, so dass das erste Zeichen ausgerichtet wird, andernfalls nicht, so dass das letzte Zeichen ausgerichtet wird.
quelle
Perl, 44 Bytes
Dies ist eine Portierung von @ xnors Antwort .
Muss
-E
(oder-M5.010
) ausgeführt werden:quelle
PHP, 71 Bytes
quelle
(26-$i)/2
→13-$i/2
Java 7,
128127 Bytes1 Byte gespeichert. Danke an Kevin.
ungolfed
Ohne ein Übergeben von 122 in einer Funktion
132 Bytes
ungolfed
quelle
=
at entfernend+=c+s+"\n"
. Möglicherweise möchten Sie auch Ihren ungolfed Code ein wenig mit Einrückungen formatieren. Ich habe das auch bei einigen Ihrer anderen Antworten bemerkt. :)s=v+s
in der Rekursion nicht durch ersetzens+=v
?Ruby, 64 Bytes
quelle
join
anbringen,each
stattmap
ist unnötig, da es uns egal ist, was wir zurückgeben. Sie könnenlast
einen Bereich anrufen(0..26).map
versuchen27.times
; statt('a'..'z').to_a
,[*?a..?z]
; und statt.join
,*""
.Japt , 16 Bytes
Probieren Sie es online!
Erläuterung:
quelle
REXX, 52 Bytes
Ausgabe:
quelle
Vim, 25 Tastenanschläge
Wobei ␍ die Eingabetaste ist, manchmal auch notiert als
<cr>
.Erläuterung
Ich bin neu bei ViM - ich habe im November angefangen. Sie fragen sich, ob es eine Möglichkeit gibt, die Initialisierung zusammenzuführen
P
mit der im Makro zusammenzuführen.Was ist der "richtige" Weg, um eine Golf ViM-Sequenz zu testen? Ich habe mit getestet
\vi -u /dev/null
. Allerdings in einer VM eben:h<_␍
funktioniert nicht. Ich bin mir auch nicht ganz sicher, warum mein ViM zum ersten Nicht-Leerzeichen wechselt, haha.PS Bevor ich zu OS X gewechselt bin, habe ich in Hexagony mit großartigen Werkzeugen Golf gespielt ... Jetzt unter OS X mache ich keinen Wein und führe daher nicht die großartigen Werkzeuge zum Erklären und Debuggen aus. Also begann meine Reise mit ViM!
quelle
C # (.NET Core) , 112 Byte
Probieren Sie es online!
quelle
Tcl , 92 Bytes
Probieren Sie es online!
tcl, 94
Demo
In der Mitte des Prozesses habe ich versehentlich die kursive Version des Hutes bekommen:
tcl, 94
Demo
tcl, 101
Demo
In der Mitte des Prozesses habe ich versehentlich die kursive Version des Hutes bekommen:
tcl, 99
Demoquelle
Common Lisp, SBCL,
8382 BytesErläuterung
-1 Verwendung von sugestion by ASCII-only
<enter>
anstelle von~%
quelle
T-SQL, 107 Bytes
Ändert die Zeichenfolge für jede Zeile, indem der richtige Buchstabe an der richtigen Position mit der SQL-Funktion eingegeben wird
STUFF()
. Formatiert:@/2
Verwendet die Ganzzahldivision (kein Rest), um die Position zum Einfügen des Buchstabens zu bestimmen.@%2
ist dieMODULO
Funktion und wechselt zwischen 0 (Buchstaben einfügen) und 1 (Leerzeichen überschreiben).Wenn Sie capitial Buchstaben bevorzugen, verwenden Sie
CHAR(@+63)
stattdessen (nicht unsere Byteanzahl ändern).quelle
Perl 5 ,
4038 Bytes-2 Bytes dank @Dom Hastings
Probieren Sie es online!
quelle
Stax , 7 Bytes
Führen Sie es aus und debuggen Sie es
quelle
Haskell (Lambdabot), 73 Bytes
die gleiche Länge:
Ich benutze
init.tails
odertail.inits
mit einem möglichen Rückwärtsgang vorne in so ziemlich jeder Herausforderung; Ich wünschte, sie würden es bereits zu Prelude hinzufügen.quelle
Python 2,
6664 Bytesquelle
Groovy, 53 Bytes
Ausgabe:
quelle
QBIC , 57 Bytes
Dieser funktioniert überraschend gut mit QBIC 'FOR-Schleifen. Erklärung (der Vorgängerversion - es gilt das gleiche Prinzip):
Ausgabe:
quelle
Schläger 137 Bytes
Ungolfed:
Testen:
Ausgabe:
quelle