Étant donné un numéro d'entrée n
de 1
à 26
(ou 0
à 25
), sortez l'alphabet de gauche à droite jusqu'à et y compris la lettre correspondante, avec a=1, b=2, c=3, ...
. La torsion est que les lettres doivent également être répétées verticalement correspondant à leur position dans l'alphabet. Les nombres impairs (lorsqu'ils sont 1
indexés) doivent être équilibrés sur la ligne horizontale, tandis que les nombres pairs doivent alterner entre favoriser le haut ou le bas (vous pouvez choisir la direction à suivre en premier). Si vous indexez 0, échangez impair / pair dans la phrase précédente.
Autrement dit - si la valeur alphabétique d'une lettre ?
est #
, alors il devrait y avoir des #
copies de cette lettre dans la sortie, toutes dans la #
e colonne. Ces lettres doivent être également équilibrées au-dessus et au-dessous de la ligne horizontale qui a le a
. Si les lettres ne peuvent pas être équilibrées de manière égale, alterner avec la lettre "extra" au-dessus et en dessous de cette ligne.
Voici les six premières sorties ( n = 1,2,3,4,5,6
, indexées 1, choisissant d'alterner en bas en premier), séparées par des retours à la ligne, afin que vous puissiez voir le motif. Les commentaires expliquant le modèle commencent par #
.
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
(sauter quelques-uns pour 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
Règles
- Vous pouvez choisir de sortir en majuscules ou en minuscules, mais cela doit être cohérent.
- La sortie ne peut pas avoir d'espaces blancs superflus, à l'exception d'une nouvelle ligne de fin facultative.
- Un programme complet ou une fonction sont acceptables.
- Le numéro d'entrée peut être pris via n'importe quel format approprié .
- Les failles standard sont interdites.
- Il s'agit de code-golf, donc toutes les règles de golf habituelles s'appliquent et le code le plus court (en octets) l'emporte.
-
pour sortir les lignes dans l'ordre inverse, ce qui, je crois, est autorisé?x*-(x&2)
marche.Pyth , 26 octets
Un score parfait pour un défi sur l'alphabet.
Essayez-le en ligne!
la source
Gelée , 25 octets
Essayez-le en ligne! ou vérifiez tous les cas de test .
la source
JavaScript (ES6),
127126 octetsUtilise le truc de tri de @ Lynn. Écrire l'alphabet entier coûtait deux octets moins cher que de le calculer. Edit: sauvé 1 octet grâce à @ETHproductions car j'ai oublié de noter que cela
\n
représente en fait le caractère littéral de la nouvelle ligne. (Je n'aime pas mettre de nouvelles lignes littérales dans ma réponse quand la ligne est si longue.)la source
btoa`...`
où...
est remplacé par le résultat deatob`abcdefghijklmnopqrstuvwxyzz`
. (Vous pouvez également le remplacer\n
par une nouvelle ligne littérale.)