L'arrière-plan
Imaginez l'alphabet anglais écrit consécutivement en majuscules - ABCDEFGHIJKLMNOPQRSTUVWXYZ
. Supposons que nous ayons un objectif spécial à largeur variable tel que, placé au-dessus de la ligne, il montre une certaine "fenêtre" de l'alphabet, avec des lettres à l'extérieur de l'objectif cachées. De plus, cette lentille a une caractéristique de déformation, de sorte que la première lettre à l'intérieur de la lentille, et toutes les deux lettres par la suite, sont en minuscules, mais les lettres restantes sont toujours en majuscule.
Par exemple, nous pourrions avoir une lentille de longueur 5 placé quelque part au milieu de l'alphabet et nous ne verriez . jKlMn
(leader période ici pour assurer espaces blancs spectacles) - Noter la K
et M
sommes toujours en majuscule, tandis que le j
, l
et n
sont tous inférieurs -cased. Lorsque nous glissons cet objectif de gauche à droite le long de l'alphabet, différentes lettres sont affichées et différentes lettres en majuscule. La tâche ici est de sortir les lettres résultantes lorsque l'objectif glisse le long de l'alphabet.
Le défi
Écrivez un programme ou une fonction qui prend un entier en entrée 0 < n < 27
et génère ou renvoie la ou les chaînes visibles lorsque l'objectif décrit ci-dessus glisse sur l'alphabet.
Pour des valeurs n
supérieures à 1
, l'objectif commence par "accrocher" sur le côté gauche de l'alphabet, de sorte que seul A
s'affiche dans la fente la plus à droite de l'objectif. La première ligne de n'importe quelle sortie sera donc une seule A
, en majuscule ou en minuscule selon la longueur de l'objectif.
De même, l'objectif finit de glisser lorsque le Z
est dans la fente la plus à gauche de l'objectif (ce qui signifie que la toute dernière ligne de n'importe quelle sortie sera toujours de 25 espaces suivis d'un minuscule z
).
Les exemples
Contribution: 1
Production:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Contribution: 4
Production:
A
aB
AbC
aBcD
bCdE
cDeF
dEfG
eFgH
fGhI
gHiJ
hIjK
iJkL
jKlM
kLmN
lMnO
mNoP
nOpQ
oPqR
pQrS
qRsT
rStU
sTuV
tUvW
uVwX
vWxY
wXyZ
xYz
yZ
z
Contribution: 26
Production:
A
aB
AbC
aBcD
AbCdE
aBcDeF
AbCdEfG
aBcDeFgH
AbCdEfGhI
aBcDeFgHiJ
AbCdEfGhIjK
aBcDeFgHiJkL
AbCdEfGhIjKlM
aBcDeFgHiJkLmN
AbCdEfGhIjKlMnO
aBcDeFgHiJkLmNoP
AbCdEfGhIjKlMnOpQ
aBcDeFgHiJkLmNoPqR
AbCdEfGhIjKlMnOpQrS
aBcDeFgHiJkLmNoPqRsT
AbCdEfGhIjKlMnOpQrStU
aBcDeFgHiJkLmNoPqRsTuV
AbCdEfGhIjKlMnOpQrStUvW
aBcDeFgHiJkLmNoPqRsTuVwX
AbCdEfGhIjKlMnOpQrStUvWxY
aBcDeFgHiJkLmNoPqRsTuVwXyZ
bCdEfGhIjKlMnOpQrStUvWxYz
cDeFgHiJkLmNoPqRsTuVwXyZ
dEfGhIjKlMnOpQrStUvWxYz
eFgHiJkLmNoPqRsTuVwXyZ
fGhIjKlMnOpQrStUvWxYz
gHiJkLmNoPqRsTuVwXyZ
hIjKlMnOpQrStUvWxYz
iJkLmNoPqRsTuVwXyZ
jKlMnOpQrStUvWxYz
kLmNoPqRsTuVwXyZ
lMnOpQrStUvWxYz
mNoPqRsTuVwXyZ
nOpQrStUvWxYz
oPqRsTuVwXyZ
pQrStUvWxYz
qRsTuVwXyZ
rStUvWxYz
sTuVwXyZ
tUvWxYz
uVwXyZ
vWxYz
wXyZ
xYz
yZ
z
Les règles
- Les règles d'entrée / sortie standard s'appliquent
- Failles standard non autorisées
- Les règles de code-golf standard s'appliquent
- Le premier espace comme indiqué est requis, afin que nous sachions où nous en sommes dans l'alphabet.
- Chaque ligne ne peut pas avoir d'espace blanc de fin (comme indiqué - la sortie n'est pas un rectangle).
- Une seule nouvelle ligne de fin est facultative.
la source
Réponses:
Pyth, 31 octets
Essayez-le en ligne. Suite de tests.
Rapide et sale.
la source
JavaScript (ES6), 130 octets
Où
\n
représente le caractère de nouvelle ligne littéral. Fonctionne en faisant une boucle sur le rectangle de sortie et en sortant des espaces en dehors de la diagonale tout en ajoutant 32 au code de caractère pour le mettre en minuscules dans des carrés alternés. L'utilisationreplace
semble être de 1 octet de plus:la source
AWK, 160 octets
C'est à peu près aussi serré que possible
AWK
. Avoir 3print
s différents etcontinue
vraiment ajouter au nombre d'octets.la source