Geben Sie bei einer eingegebenen Zahl n
von 1
bis 26
(oder 0
bis 25
) das Alphabet von links nach rechts bis einschließlich des entsprechenden Buchstabens mit aus a=1, b=2, c=3, ...
. Die Drehung ist die Buchstaben müssen auch vertikal entsprechend ihrer Position im Alphabet wiederholt werden. Ungerade Zahlen (wenn 1
indiziert) sollten über die horizontale Linie ausgeglichen werden, während gerade Zahlen zwischen oben und unten wechseln sollten (Sie können wählen, in welche Richtung Sie zuerst gehen möchten). Wenn Sie 0-indizieren, tauschen Sie im vorherigen Satz ungerade / gerade aus.
Anders ausgedrückt: Wenn der alphabetische Wert eines Buchstabens gleich ?
ist #
, sollte #
die Ausgabe Kopien dieses Buchstabens enthalten, alle in der #
dritten Spalte. Diese Buchstaben sollten gleichmäßig über und unter der waagerechten Linie mit dem Symbol ausgeglichen sein a
. Wenn die Buchstaben nicht gleichmäßig verteilt werden können, müssen Sie abwechselnd den "zusätzlichen" Buchstaben über und unter dieser Zeile einfügen.
Hier sind die ersten sechs Ausgaben ( n = 1,2,3,4,5,6
, 1-indiziert, alternierend zuerst nach unten), die durch Zeilenumbrüche getrennt sind, damit Sie das Muster sehen können. Kommentare, die das Muster erklären, beginnen mit #
.
a # On a line by itself
ab
b # The "extra" letter is below the horizontal
c
abc # The 'c' splits evenly
bc
d # Because the 'b' was below, the extra 'd' must be above
cd
abcd
bcd
de
cde
abcde # The 'e' balances
bcde
e
def
cdef
abcdef
bcdef
ef
f # Since the 'd' was above, the extra 'f' must be below
(überspringen ein paar zu n=26
)
xyz
wxyz
tuvwxyz
stuvwxyz
pqrstuvwxyz
opqrstuvwxyz
lmnopqrstuvwxyz
klmnopqrstuvwxyz
hijklmnopqrstuvwxyz
ghijklmnopqrstuvwxyz
defghijklmnopqrstuvwxyz
cdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
fghijklmnopqrstuvwxyz
ijklmnopqrstuvwxyz
jklmnopqrstuvwxyz
mnopqrstuvwxyz
nopqrstuvwxyz
qrstuvwxyz
rstuvwxyz
uvwxyz
vwxyz
yz
z
Regeln
- Sie können zwischen der Ausgabe in Groß- und Kleinschreibung wählen, diese muss jedoch konsistent sein.
- Die Ausgabe darf keine Leerzeichen enthalten, mit Ausnahme einer optionalen nachgestellten Newline.
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig.
- Die eingegebene Nummer kann über ein beliebiges geeignetes Format übernommen werden .
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
-
um die Zeilen in umgekehrter Reihenfolge auszugeben, was ich für zulässig halte?x*-(x&2)
funktioniert.Pyth , 26 Bytes
Ein perfektes Ergebnis für eine Herausforderung zum Thema Alphabet.
Probieren Sie es online!
quelle
Gelee , 25 Bytes
Probieren Sie es online! oder überprüfen Sie alle Testfälle .
quelle
JavaScript (ES6),
127126 BytesVerwendet @ Lynns Sortiertrick. Das ganze Alphabet zu schreiben war zwei Bytes billiger als es zu berechnen. Bearbeiten: 1 Byte dank @ETHproductions gespeichert, da ich vergessen habe zu beachten, dass dies
\n
tatsächlich das wörtliche Zeilenumbruchzeichen darstellt. (Ich mag es nicht, wörtliche Zeilenumbrüche in meine Antwort einzufügen, wenn die Zeile so lang ist.)quelle
btoa`...`
wo...
wird durch das Ergebnis von ersetztatob`abcdefghijklmnopqrstuvwxyzz`
. (Sie können auch durch\n
einen wörtlichen Zeilenumbruch ersetzen .)