Alfabeto Diamante

31

¡Has visto el asombroso triángulo del alfabeto , la venganza del triángulo del alfabeto y ahora es el momento de la venganza de la venganza del triángulo del alfabeto!

Introduciendo ...

¡EL DIAMANTE DEL ALFABETO!

Su tarea es generar este texto exacto, en minúsculas / mayúsculas no importa, aunque las líneas nuevas sí:

bcdefghijklmnopqrstuvwxyzazyxwvutsrqponmlkjihgfedcb
cdefghijklmnopqrstuvwxyzabazyxwvutsrqponmlkjihgfedc
defghijklmnopqrstuvwxyzabcbazyxwvutsrqponmlkjihgfed
efghijklmnopqrstuvwxyzabcdcbazyxwvutsrqponmlkjihgfe
fghijklmnopqrstuvwxyzabcdedcbazyxwvutsrqponmlkjihgf
ghijklmnopqrstuvwxyzabcdefedcbazyxwvutsrqponmlkjihg
hijklmnopqrstuvwxyzabcdefgfedcbazyxwvutsrqponmlkjih
ijklmnopqrstuvwxyzabcdefghgfedcbazyxwvutsrqponmlkji
jklmnopqrstuvwxyzabcdefghihgfedcbazyxwvutsrqponmlkj
klmnopqrstuvwxyzabcdefghijihgfedcbazyxwvutsrqponmlk
lmnopqrstuvwxyzabcdefghijkjihgfedcbazyxwvutsrqponml
mnopqrstuvwxyzabcdefghijklkjihgfedcbazyxwvutsrqponm
nopqrstuvwxyzabcdefghijklmlkjihgfedcbazyxwvutsrqpon
opqrstuvwxyzabcdefghijklmnmlkjihgfedcbazyxwvutsrqpo
pqrstuvwxyzabcdefghijklmnonmlkjihgfedcbazyxwvutsrqp
qrstuvwxyzabcdefghijklmnoponmlkjihgfedcbazyxwvutsrq
rstuvwxyzabcdefghijklmnopqponmlkjihgfedcbazyxwvutsr
stuvwxyzabcdefghijklmnopqrqponmlkjihgfedcbazyxwvuts
tuvwxyzabcdefghijklmnopqrsrqponmlkjihgfedcbazyxwvut
uvwxyzabcdefghijklmnopqrstsrqponmlkjihgfedcbazyxwvu
vwxyzabcdefghijklmnopqrstutsrqponmlkjihgfedcbazyxwv
wxyzabcdefghijklmnopqrstuvutsrqponmlkjihgfedcbazyxw
xyzabcdefghijklmnopqrstuvwvutsrqponmlkjihgfedcbazyx
yzabcdefghijklmnopqrstuvwxwvutsrqponmlkjihgfedcbazy
zabcdefghijklmnopqrstuvwxyxwvutsrqponmlkjihgfedcbaz
abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba
bcdefghijklmnopqrstuvwxyzazyxwvutsrqponmlkjihgfedcb
abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba
zabcdefghijklmnopqrstuvwxyxwvutsrqponmlkjihgfedcbaz
yzabcdefghijklmnopqrstuvwxwvutsrqponmlkjihgfedcbazy
xyzabcdefghijklmnopqrstuvwvutsrqponmlkjihgfedcbazyx
wxyzabcdefghijklmnopqrstuvutsrqponmlkjihgfedcbazyxw
vwxyzabcdefghijklmnopqrstutsrqponmlkjihgfedcbazyxwv
uvwxyzabcdefghijklmnopqrstsrqponmlkjihgfedcbazyxwvu
tuvwxyzabcdefghijklmnopqrsrqponmlkjihgfedcbazyxwvut
stuvwxyzabcdefghijklmnopqrqponmlkjihgfedcbazyxwvuts
rstuvwxyzabcdefghijklmnopqponmlkjihgfedcbazyxwvutsr
qrstuvwxyzabcdefghijklmnoponmlkjihgfedcbazyxwvutsrq
pqrstuvwxyzabcdefghijklmnonmlkjihgfedcbazyxwvutsrqp
opqrstuvwxyzabcdefghijklmnmlkjihgfedcbazyxwvutsrqpo
nopqrstuvwxyzabcdefghijklmlkjihgfedcbazyxwvutsrqpon
mnopqrstuvwxyzabcdefghijklkjihgfedcbazyxwvutsrqponm
lmnopqrstuvwxyzabcdefghijkjihgfedcbazyxwvutsrqponml
klmnopqrstuvwxyzabcdefghijihgfedcbazyxwvutsrqponmlk
jklmnopqrstuvwxyzabcdefghihgfedcbazyxwvutsrqponmlkj
ijklmnopqrstuvwxyzabcdefghgfedcbazyxwvutsrqponmlkji
hijklmnopqrstuvwxyzabcdefgfedcbazyxwvutsrqponmlkjih
ghijklmnopqrstuvwxyzabcdefedcbazyxwvutsrqponmlkjihg
fghijklmnopqrstuvwxyzabcdedcbazyxwvutsrqponmlkjihgf
efghijklmnopqrstuvwxyzabcdcbazyxwvutsrqponmlkjihgfe
defghijklmnopqrstuvwxyzabcbazyxwvutsrqponmlkjihgfed
cdefghijklmnopqrstuvwxyzabazyxwvutsrqponmlkjihgfedc
bcdefghijklmnopqrstuvwxyzazyxwvutsrqponmlkjihgfedcb

Este es el código de golf, el menor bytecount gana.

Reglas:

  1. Las lagunas estándar no están permitidas.
  2. a debe ser el centro del diamante del alfabeto.
Urna de pulpo mágico
fuente
11
Buen desafío Personalmente, creo que tendría más sentido si las esquinas fueran ay el centro fueraz
ETHproductions
44
@ETHproductions Quería hacerlo más difícil para los idiomas de golf que pueden presionar el alfabeto;). Aunque dudo que sea mucho más difícil.
Urna de pulpo mágico
@carusocomputing Una rotación a la izquierda lo haría. Por ejemplo, .<lo haría en Pyth: .<S5 1resultaría en [2, 3, 4, 5, 1]. Es lo mismo que .<[1 2 3 4 5)1. Sin embargo, no estoy seguro del diamante.
Erik the Outgolfer
@EriktheGolfer Me doy cuenta, también hay algunas formas más inteligentes de hacerlo, como colapsar el turno en un momento. El diamante en sí mismo debería requerir desplazamiento, por lo que también hay formas de combinar el cambio inicial en las iteraciones reales del diamante. Era una parte intencional del desafío ver quién optimizaba su bucle.
Urna mágica del pulpo
@carusocomputing Me refería a bser la letra inicial en lugar de a. Por supuesto, el cambio también es vital.
Erik the Outgolfer

Respuestas:

16

05AB1E , 13 12 bytes

A27FÀDûˆ}¯û»

Pruébalo en línea!

Explicación

A              # push alphabet
 27F           # 27 times do
    À          # rotate alphabet left
     Dû        # create a palendromized copy
       ˆ       # add to global list
        }      # end loop
         ¯     # push global list
          û    # palendromize list
           »   # merge list on newline
               # implicit output
Emigna
fuente
Probablemente podría guardar un byte usando registros y la g para calcular la longitud del alfabeto en lugar de duplicarlo.
Urna mágica de pulpo
@carusocomputing: a menos que lo esté haciendo mal (siéntase libre de educarme si ese es el caso) terminé a los 13 años haciendo eso. Sin embargo, logré guardar un byte con la lista global.
Emigna
A©gF®À©û})û»es lo que estaba pensando ¡De ninguna manera lo estás haciendo mal! Aprendí todo lo que sé de verte, je. La lista global es la misma idea básica.
Urna mágica de pulpo
1
Ahora estás atado conmigo. : 3
Oliver Ni
1
@ Oliver: ¡De hecho! Y con 2 enfoques diferentes en el mismo idioma :)
Emigna
27

Vim, 62 , 60 pulsaciones de teclas

:se ri|h<_<cr>jjYZZPqqx$pYpq26@qdjyH:g/^/m0<cr>VP:%norm DPA<C-v><C-r>"<C-v><esc>x<cr>

Basándose en la inspiración de la increíble respuesta vim de Lynn para tomar la idea de robar el alfabeto de los documentos de ayuda.

¡Puedes ver cómo sucede en tiempo real mientras lucho por recordar la secuencia correcta de pulsaciones de teclas!

ingrese la descripción de la imagen aquí

Tenga en cuenta que este gif está un poco desactualizado porque produce una salida incorrecta, y todavía no he podido volver a grabarlo.

DJMcMayhem
fuente
Probé este programa y obtuve esto .
LegionMammal978
Por favor, vuelva a grabar ty
solo ASCII
8

MATL , 14 bytes

2Y226Zv27Zv!+)

Pruébalo en línea!

2Y2     % Push string 'abc...z'
26Zv    % Push symmetric range [1 2 ... 25 26 25 ... 2 1]
27Zv    % Push symmetric range [1 2 ... 25 26 27 26 25 ... 2 1]
!       % Transpose into a column
+       % Addition with broadcast. Gives a matrix of all pairwise additions:
        % [  2  3 ... 26 27 26 ...  3  2
             3  4 ... 27 28 27 ...  4  3
             ...
            27 28 ... 51 52 51 ... 28 27
            28 29 ... 52 53 52 ... 29 28
            27 28 ... 51 52 51 ... 28 27
             ...
             2  3 ... 26 27 26 ...  3  2 ]
)       % Index modularly into the string. Display implicitly
Luis Mendo
fuente
6

PHP, 129 bytes

for(;++$i<27;)$o.=($s=($f=substr)($r=join(range(a,z)),$i,26-$i)).$t.strrev($s.$t=$f($r,0,$i))."\n";echo$o.$f($o,0,51).strrev($o);
Jörg Hülsermann
fuente
syntax error, unexpected '(' on line 1¿Qué versión de php?
Tschallacka
1
@Tschallacka PHP> 7 antes de poder escribir for($f=substr;y en $f($r=join(range(a,z)),$i,26-$i))lugar de ($f=substr)($r=join(range(a,z)),$i,26-$i))evitar el error
Jörg Hülsermann
5

Haskell, 75 bytes

g=(++)<*>reverse.init 
unlines$g$g.take 26.($cycle['a'..'z']).drop<$>[1..27]

Cómo funciona:

g=(++)<*>reverse.init    -- helper function that takes a list and appends the
                         -- reverse of the list with the first element dropped, e.g.
                         -- g "abc"  -> "abcba"

             <$>[1..27]  -- map over the list [1..27] the function that
           drop          -- drops that many elements from
    ($cycle['a'..'z'])   -- the infinite cycled alphabet and
   take 26               -- keeps the next 26 chars and
  g                      -- appends the reverse of itself

                         -- now we have the first 27 lines

 g                       -- do another g to append the lower half
unlines                  -- join with newlines
nimi
fuente
5

C, 76 bytes

Función, que se llamará a continuación. Imprime letras mayúsculas.

f(i){for(i=2756;--i;)putchar(i%52?90-(abs(i%52-26)+abs(i/52-26)+25)%26:10);}

//call like this
main(){f();}

Enfoque simple, agregue las distancias x e y desde el centro del cuadrado, más un desplazamiento de 25 para ael centro, tome el módulo 26 y reste del 90código ASCII para Z. Donde i%52== 0 10se imprime un ASCII de nueva línea .

Level River St
fuente
Su compensación de +25es la misma que -1en el módulo 26
Karl Napf
2
@KarlNapf C no implementa un módulo de números negativos como lo hacen los matemáticos. -1%26en C es -1, no 25. El resultado es un [en el centro en lugar del esperado A. Gracias de todos modos, que habrían sido correcta en un idioma como el rubí, donde -1%26es igual a 25.
Nivel río St
5

R, 71 bytes

cat(letters[outer(c(1:27,26:1),c(0:25,24:0),"+")%%26+1],sep="",fill=53)

outercrea una matriz con los índices de las letras, letters[...]luego crea un vector con las letras correctas. cat(...,sep="",fill=53)Luego lo imprime con el formato deseado.

JDL
fuente
1
¡Buena esa! De alguna manera me había olvidado de la fillopción cat. Gran manera de imprimir matrices formateadas.
Billywob
4

Jalea , 13 bytes

Øaṙ1ṭṙJ$ŒBŒḄY

Pruébalo en línea!

Explicación

Øaṙ1ṭṙJ$ŒBŒḄY  Main link. No arguments
Øa             Get the lowercase alphabet
  ṙ1           Rotate left by 1
    ṭ          Append to
       $       Monadic chain
      J          Indices of the alphabet [1, 2, ..., 26]
     ṙ           Rotate the alphabet by each
        ŒB     Bounce each rotation
          ŒḄ   Bounce the rotations
            Y  Join with newlines and print implicitly
millas
fuente
Øaṙ'JŒBŒḄYpor 10 :)
Jonathan Allan
@JonathanAllan Gracias, pero falta la parte media, por eso tuve que hacer ese ṙ1ṭbit. También ØaṙJŒBŒḄYestá muy bien, no es necesario la rápida ya que vectoriza sobre el derecho a 0
milla
Totalmente extrañado que el diamante no era perfecto! Oh, bueno ...
Jonathan Allan
4

Jalea, 11 bytes

27RØaṙŒḄŒBY

Explicación:

27R          range of 1...27
   Øa        the alphabet
     ṙ       rotate
      ŒḄŒB   bounce in both dimensions
          Y  join on newline
aplaudir
fuente
3

Python 2, 96 85 bytes

Impresión de la versión en mayúsculas (ahorra 1 byte).

R=range
for i in R(53):print''.join(chr(90-(abs(j-25)+abs(i-26)-1)%26)for j in R(51))

solución previa con ayuda de muddyfish

s="abcdefghijklmnopqrstuvwxyz"*3
for i in range(53):j=min(i,52-i);print s[j+1:j+27]+s[j+25:j:-1]
Karl Napf
fuente
3
¿No es solo escribir el alfabeto con menos caracteres?
Azul
3

Perl, 77 bytes

Requiere -Esin costo adicional.

Enfoque bastante estándar ... No me gustan las llamadas para revertir Creo que es probable que haya un enfoque más basado en matemáticas para esto, ¡veré cómo me llevo!

@a=((a..z)x3)[$_..$_+26],$a=pop@a,(say@a,$a,reverse@a)for 1..26,reverse 1..25

Uso

perl -E '@a=((a..z)x3)[$_..$_+26],$a=pop@a,(say@a,$a,reverse@a)for 1..26,reverse 1..25'
Dom Hastings
fuente
Puede guardar 1 byte eliminando el espacio reverseen blanco después de en reverse 1..25. El forlo necesita sin embargo.
simbabque
1
@simbabque tal vez sea una versión de Perl, pero reverse1..25da como resultado 0..25. Estoy corriendo 5.18.2...
Dom Hastings
Tienes razón. Porque la palabra básica reverse1es indefinida. Tiene sentido.
simbabque
3

JavaScript (ES6), 97 96 bytes

Guardado 1 byte gracias a @ user81655

R=(n,s=25,c=(n%26+10).toString(36))=>s?c+R(n+1,s-1)+c:c
C=(n=1,r=R(n))=>n<27?r+`
${C(n+1)}
`+r:r

Dos funciones recursivas; Ces el que da salida al texto correcto. Pruébalo aquí:

ETHproducciones
fuente
@ user81655 Siempre me olvido de la interpolación de cadenas cuando intervienen nuevas líneas: P
ETHproductions
3

Python 3, 119 bytes

Traté de explotar los dos ejes de simetría del diamante, pero esto terminó siendo más detallado que la solución de Karl Napf .

A='abcdefghijklmnopqrstuvwxyz'
D=''
for k in range(1,27):
 D+=A[k:]+A[:k]
 D+=D[-2:-27:-1]+'\n'
print(D+D[:51]+D[::-1])
ojdo
fuente
¡Una buena solución, no obstante! Puede reducir 3 bytes escribiendo el bucle for en 1 línea:for k in range(1,27):D+=A[k:]+A[:k];D+=D[-2:-27:-1]+'\n'
FlipTack
acortado de nuevo: reemplace A con 'bcdefghijklmnopqrstuvwxyza'y reemplace range(1,27)con range(26). Mi recuento de bytes ahora es 114
FlipTack
3

Haskell, 67 66 bytes

unlines[[toEnum$mod(-abs j-abs i)26+97|j<-[-25..25]]|i<-[-26..26]]
Damien
fuente
3

C, 252 bytes

#define j q[y]
#define k(w,v) (v<'z')?(w=v+1):(w=97)
char q[28][52],d;main(){int y,x=1;y=1;j[0]=98;j[50]=98;for(;y<27;y++){for(;x<26;x++){(x<1)?(k(d,q[y-1][50])):(k(d,j[x-1]));j[50-x]=d;j[x]=d;}x=0;j[51]=0;puts(j);}strcpy(j,q[1]);for(;y;y--)puts(j);}

Versión formateada y macro expandida, que es de esperar que sea más inteligible:

#define j q[y]
#define k(w,v) (v<'z')?(w=v+1):(w=97)
char q[28][52],d;
main(){
int y,x=1;
y=1;
q[1][0]=98;q[1][50]=98;
//98 takes one less byte to type than the equivalent 'b'
for(;y<27;y++){
    for(;x<26;x++){
        (x<1)?
            (k(d,q[y-1][50]))
            :(k(d,q[y][x-1]));
        q[y][50-x]=d;
        q[y][x]=d;
        }
    x=0;
    q[y][51]=0;
    puts(q[y]);
    }
strcpy(q[y],q[1]);
for(;y;y--)puts(q[y]);
}

Sé que esto no puede ganar, pero me divertí mucho intentándolo. Este es mi primer intento en el código de golf.

qzlpnfv
fuente
Bienvenido a code golf, es adictivo jaja;).
Urna de pulpo mágico
3

Lote, 255 bytes

@echo off
set l=abcdefghijklmnopqrstuvwxyz
set r=yxwvutsrqponmlkjihgfedcba
for /l %%i in (1,1,27)do call:u
for /l %%i in (1,1,25)do call:l
:l
set r=%r:~2%%l:~-1%.
set l=%l:~-2%%l:~0,-2%
:u
set r=%l:~-1%%r:~0,-1%
set l=%l:~1%%l:~0,1%
echo %l%%r%

Explicación: La subrutina ugira el alfabeto hacia afuera una letra desde el centro, que es el patrón utilizado en la mitad superior de la salida deseada. La subrutina lgira el alfabeto hacia adentro dos letras. Luego cae en la usubrutina, logrando una rotación interna efectiva de una sola letra. Finalmente, la última línea se imprime permitiendo que el código caiga en la lsubrutina.

Neil
fuente
2

Pyke, 23 22 21 bytes

GV'th+jj_t+j)K]0n'JOX

Pruébalo aquí!

GV          )         - repeat 26 times, initially push alphabet.
  'th+                -  push tos[1:]+tos[0]
      j               -  j = tos
       j              -  push j
        _t+           -  push pop+reversed(pop)[1:]
           j          -  push j
             K        - pop
              ]0      - list(stack)
                n'JOX - print "\n".join(^),
                      - splat ^[:-1]
Azul
fuente
2

C ++, 191 179 166 165 bytes

-12 bytes gracias a Kevin Cruijssen
-14 bytes gracias a Zacharý

#include<iostream>
#define C j;)std::cout<<char(97+(d+j
int main(){for(int i=0,j,d=1;i<53;d+=i++/26?-1:1){for(j=0;26>C++)%26);for(j=24;0<=C--)%26);std::cout<<'\n';}}
HatsuPointerKun
fuente
1
Puede guardar 12 bytes como este:#include<iostream> int main(){for(int i=0,j,d=1;i<53;d+=i++/26?-1:1){for(j=0;j<26;)std::cout<<char((j+++d)%26+97);for(j=24;j>=0;)std::cout<<char((j--+d)%26+97);std::cout<<'\n';};}
Kevin Cruijssen
Maldita sea Kevin, ya me has convertido en un ninja.
Zacharý
@KevinCruijssen Gracias por la ayuda. Por cierto, su código en el comentario contenía caracteres unicode no imprimibles.
HatsuPointerKun
@HatsuPointerKun Eso es algo que sucede automáticamente en los comentarios, me temo. De hecho, es bastante molesto cuando intentas copiar y pegar código de él .. :)
Kevin Cruijssen
2
Puede abusar de las macros agregando esto: #define C j;)std::cout<<char(97+(d+jy luego cambiando la última línea a esta:int main(){for(int i=0,j,d=1;i<53;d+=i++/26?-1:1){for(j=0;26>C++)%26);for(j=24;0<=C--)%26);std::cout<<'\n';};}
Zacharý
2

Carbón , 24 21 bytes

-3 bytes gracias a ASCII-only.

F²⁷«P✂×β³⊕ι⁺ι²⁷↓»‖B↓→

Pruébalo en línea! El enlace es a la versión detallada.

... Necesito trabajar en mi Charcoal-fu. :PAGS

totalmente humano
fuente
Ahora descubro que el cuarto argumento Slicees opcional. > _>
totalmente humano
Todos los argumentos (sí, los cuatro) son opcionales
solo ASCII del
¿Qué hace Niladic Slice?
totalmente humano
2
Oh, espera nvm, sí, se requiere el primer argumento: P
Solo ASCII
1

JavaScript (ES6), 128 115 114 bytes

a='abcdefghijklmnopqrstuvwxyz'
for(o=[i=27];i--;)o[26-i]=o[26+i]=(a=(p=a.slice(1))+a[0])+[...p].reverse().join``
o
Darrylyeo
fuente
1

Groovy - 103 97 bytes

Me doy cuenta de que hay formas más inteligentes de hacer esto, pero ...

{t = ('a' .. 'z'). join (); q = {it [-2..0]}; c = []; 27.times {t = t [1 ..- 1] + t [0]; c << t + q (t)}; (c + q (c)). join ('\ n')}

Cuando se ejecuta, el resultado del script es la respuesta solicitada.

(Gracias a carusocomputing por el consejo de guardar 7 bytes).

Ejemplo actualizado en consecuencia en:

Ver http://ideone.com/MkQeoW

GolfIsAGoodWalkSpoilt
fuente
En lugar del bucle for, puede usar 27.times(){}y guardar 7 bytes;).
Urna mágica del pulpo
1

Raqueta 293 bytes

(let*((ls list->string)(rr reverse)(sr(λ(s)(ls(rr(string->list s))))))(let p((s(ls(for/list((i(range 97 123)))(integer->char i))))
(n 0)(ol'()))(let*((c(string-ref s 0))(ss(substring s 1 26))(s(string-append ss(string c)(sr ss))))(if(< n 53)(p s(+ 1 n)(cons s ol))
(append(rr ol)(cdr ol))))))

Sin golf:

(define (f)
  (define (sr s)           ; sub-fn reverse string;
    (list->string
     (reverse
      (string->list s))))
  (let loop ((s
              (list->string
               (for/list
                   ((i
                     (range 97 123)))
                 (integer->char i))))
             (n 0)
             (ol '()))
    (define c (string-ref s 0))
    (define ss (substring s 1 26))
    (set! s (string-append
             ss 
             (string c)
             (sr ss)))
    (if (< n 53)
        (loop s (add1 n) (cons s ol))
        (append (reverse ol) (rest ol)))))

Pruebas:

(f)

Salida:

'("bcdefghijklmnopqrstuvwxyzazyxwvutsrqponmlkjihgfedcb"
  "cdefghijklmnopqrstuvwxyzabazyxwvutsrqponmlkjihgfedc"
  "defghijklmnopqrstuvwxyzabcbazyxwvutsrqponmlkjihgfed"
  "efghijklmnopqrstuvwxyzabcdcbazyxwvutsrqponmlkjihgfe"
  "fghijklmnopqrstuvwxyzabcdedcbazyxwvutsrqponmlkjihgf"
  "ghijklmnopqrstuvwxyzabcdefedcbazyxwvutsrqponmlkjihg"
  "hijklmnopqrstuvwxyzabcdefgfedcbazyxwvutsrqponmlkjih"
  "ijklmnopqrstuvwxyzabcdefghgfedcbazyxwvutsrqponmlkji"
  "jklmnopqrstuvwxyzabcdefghihgfedcbazyxwvutsrqponmlkj"
  "klmnopqrstuvwxyzabcdefghijihgfedcbazyxwvutsrqponmlk"
  "lmnopqrstuvwxyzabcdefghijkjihgfedcbazyxwvutsrqponml"
  "mnopqrstuvwxyzabcdefghijklkjihgfedcbazyxwvutsrqponm"
  "nopqrstuvwxyzabcdefghijklmlkjihgfedcbazyxwvutsrqpon"
  "opqrstuvwxyzabcdefghijklmnmlkjihgfedcbazyxwvutsrqpo"
  "pqrstuvwxyzabcdefghijklmnonmlkjihgfedcbazyxwvutsrqp"
  "qrstuvwxyzabcdefghijklmnoponmlkjihgfedcbazyxwvutsrq"
  "rstuvwxyzabcdefghijklmnopqponmlkjihgfedcbazyxwvutsr"
  "stuvwxyzabcdefghijklmnopqrqponmlkjihgfedcbazyxwvuts"
  "tuvwxyzabcdefghijklmnopqrsrqponmlkjihgfedcbazyxwvut"
  "uvwxyzabcdefghijklmnopqrstsrqponmlkjihgfedcbazyxwvu"
  "vwxyzabcdefghijklmnopqrstutsrqponmlkjihgfedcbazyxwv"
  "wxyzabcdefghijklmnopqrstuvutsrqponmlkjihgfedcbazyxw"
  "xyzabcdefghijklmnopqrstuvwvutsrqponmlkjihgfedcbazyx"
  "yzabcdefghijklmnopqrstuvwxwvutsrqponmlkjihgfedcbazy"
  "zabcdefghijklmnopqrstuvwxyxwvutsrqponmlkjihgfedcbaz"
  "abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba"
  "bcdefghijklmnopqrstuvwxyzazyxwvutsrqponmlkjihgfedcb"
  "cdefghijklmnopqrstuvwxyzabazyxwvutsrqponmlkjihgfedc"
  "defghijklmnopqrstuvwxyzabcbazyxwvutsrqponmlkjihgfed"
  "efghijklmnopqrstuvwxyzabcdcbazyxwvutsrqponmlkjihgfe"
  "fghijklmnopqrstuvwxyzabcdedcbazyxwvutsrqponmlkjihgf"
  "ghijklmnopqrstuvwxyzabcdefedcbazyxwvutsrqponmlkjihg"
  "hijklmnopqrstuvwxyzabcdefgfedcbazyxwvutsrqponmlkjih"
  "ijklmnopqrstuvwxyzabcdefghgfedcbazyxwvutsrqponmlkji"
  "jklmnopqrstuvwxyzabcdefghihgfedcbazyxwvutsrqponmlkj"
  "klmnopqrstuvwxyzabcdefghijihgfedcbazyxwvutsrqponmlk"
  "lmnopqrstuvwxyzabcdefghijkjihgfedcbazyxwvutsrqponml"
  "mnopqrstuvwxyzabcdefghijklkjihgfedcbazyxwvutsrqponm"
  "nopqrstuvwxyzabcdefghijklmlkjihgfedcbazyxwvutsrqpon"
  "opqrstuvwxyzabcdefghijklmnmlkjihgfedcbazyxwvutsrqpo"
  "pqrstuvwxyzabcdefghijklmnonmlkjihgfedcbazyxwvutsrqp"
  "qrstuvwxyzabcdefghijklmnoponmlkjihgfedcbazyxwvutsrq"
  "rstuvwxyzabcdefghijklmnopqponmlkjihgfedcbazyxwvutsr"
  "stuvwxyzabcdefghijklmnopqrqponmlkjihgfedcbazyxwvuts"
  "tuvwxyzabcdefghijklmnopqrsrqponmlkjihgfedcbazyxwvut"
  "uvwxyzabcdefghijklmnopqrstsrqponmlkjihgfedcbazyxwvu"
  "vwxyzabcdefghijklmnopqrstutsrqponmlkjihgfedcbazyxwv"
  "wxyzabcdefghijklmnopqrstuvutsrqponmlkjihgfedcbazyxw"
  "xyzabcdefghijklmnopqrstuvwvutsrqponmlkjihgfedcbazyx"
  "yzabcdefghijklmnopqrstuvwxwvutsrqponmlkjihgfedcbazy"
  "zabcdefghijklmnopqrstuvwxyxwvutsrqponmlkjihgfedcbaz"
  "abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba"
  "bcdefghijklmnopqrstuvwxyzazyxwvutsrqponmlkjihgfedcb"
  "abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba"
  "zabcdefghijklmnopqrstuvwxyxwvutsrqponmlkjihgfedcbaz"
  "yzabcdefghijklmnopqrstuvwxwvutsrqponmlkjihgfedcbazy"
  "xyzabcdefghijklmnopqrstuvwvutsrqponmlkjihgfedcbazyx"
  "wxyzabcdefghijklmnopqrstuvutsrqponmlkjihgfedcbazyxw"
  "vwxyzabcdefghijklmnopqrstutsrqponmlkjihgfedcbazyxwv"
  "uvwxyzabcdefghijklmnopqrstsrqponmlkjihgfedcbazyxwvu"
  "tuvwxyzabcdefghijklmnopqrsrqponmlkjihgfedcbazyxwvut"
  "stuvwxyzabcdefghijklmnopqrqponmlkjihgfedcbazyxwvuts"
  "rstuvwxyzabcdefghijklmnopqponmlkjihgfedcbazyxwvutsr"
  "qrstuvwxyzabcdefghijklmnoponmlkjihgfedcbazyxwvutsrq"
  "pqrstuvwxyzabcdefghijklmnonmlkjihgfedcbazyxwvutsrqp"
  "opqrstuvwxyzabcdefghijklmnmlkjihgfedcbazyxwvutsrqpo"
  "nopqrstuvwxyzabcdefghijklmlkjihgfedcbazyxwvutsrqpon"
  "mnopqrstuvwxyzabcdefghijklkjihgfedcbazyxwvutsrqponm"
  "lmnopqrstuvwxyzabcdefghijkjihgfedcbazyxwvutsrqponml"
  "klmnopqrstuvwxyzabcdefghijihgfedcbazyxwvutsrqponmlk"
  "jklmnopqrstuvwxyzabcdefghihgfedcbazyxwvutsrqponmlkj"
  "ijklmnopqrstuvwxyzabcdefghgfedcbazyxwvutsrqponmlkji"
  "hijklmnopqrstuvwxyzabcdefgfedcbazyxwvutsrqponmlkjih"
  "ghijklmnopqrstuvwxyzabcdefedcbazyxwvutsrqponmlkjihg"
  "fghijklmnopqrstuvwxyzabcdedcbazyxwvutsrqponmlkjihgf"
  "efghijklmnopqrstuvwxyzabcdcbazyxwvutsrqponmlkjihgfe"
  "defghijklmnopqrstuvwxyzabcbazyxwvutsrqponmlkjihgfed"
  "cdefghijklmnopqrstuvwxyzabazyxwvutsrqponmlkjihgfedc"
  "bcdefghijklmnopqrstuvwxyzazyxwvutsrqponmlkjihgfedcb"
  "abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba"
  "zabcdefghijklmnopqrstuvwxyxwvutsrqponmlkjihgfedcbaz"
  "yzabcdefghijklmnopqrstuvwxwvutsrqponmlkjihgfedcbazy"
  "xyzabcdefghijklmnopqrstuvwvutsrqponmlkjihgfedcbazyx"
  "wxyzabcdefghijklmnopqrstuvutsrqponmlkjihgfedcbazyxw"
  "vwxyzabcdefghijklmnopqrstutsrqponmlkjihgfedcbazyxwv"
  "uvwxyzabcdefghijklmnopqrstsrqponmlkjihgfedcbazyxwvu"
  "tuvwxyzabcdefghijklmnopqrsrqponmlkjihgfedcbazyxwvut"
  "stuvwxyzabcdefghijklmnopqrqponmlkjihgfedcbazyxwvuts"
  "rstuvwxyzabcdefghijklmnopqponmlkjihgfedcbazyxwvutsr"
  "qrstuvwxyzabcdefghijklmnoponmlkjihgfedcbazyxwvutsrq"
  "pqrstuvwxyzabcdefghijklmnonmlkjihgfedcbazyxwvutsrqp"
  "opqrstuvwxyzabcdefghijklmnmlkjihgfedcbazyxwvutsrqpo"
  "nopqrstuvwxyzabcdefghijklmlkjihgfedcbazyxwvutsrqpon"
  "mnopqrstuvwxyzabcdefghijklkjihgfedcbazyxwvutsrqponm"
  "lmnopqrstuvwxyzabcdefghijkjihgfedcbazyxwvutsrqponml"
  "klmnopqrstuvwxyzabcdefghijihgfedcbazyxwvutsrqponmlk"
  "jklmnopqrstuvwxyzabcdefghihgfedcbazyxwvutsrqponmlkj"
  "ijklmnopqrstuvwxyzabcdefghgfedcbazyxwvutsrqponmlkji"
  "hijklmnopqrstuvwxyzabcdefgfedcbazyxwvutsrqponmlkjih"
  "ghijklmnopqrstuvwxyzabcdefedcbazyxwvutsrqponmlkjihg"
  "fghijklmnopqrstuvwxyzabcdedcbazyxwvutsrqponmlkjihgf"
  "efghijklmnopqrstuvwxyzabcdcbazyxwvutsrqponmlkjihgfe"
  "defghijklmnopqrstuvwxyzabcbazyxwvutsrqponmlkjihgfed"
  "cdefghijklmnopqrstuvwxyzabazyxwvutsrqponmlkjihgfedc"
  "bcdefghijklmnopqrstuvwxyzazyxwvutsrqponmlkjihgfedcb")
rnso
fuente
1

Pyth ,21 19 bytes

j+PKm+PJ.<Gd_JS27_K

Pruébalo en línea!

Explicación:

j+PKm+PJ.<Gd_JS27_K   expects no input

j                     joins on new line
 +   +                joins two strings
  P   P               prints everything but the last element
   K                  initialize K and implicitly print
    m                 for...in loop, uses d as iterator variable
       J              initialize J and implicitly print
        .<            cyclically rotate
          G           initialized to the lowercase alphabet
           d          iterating variables of m
            _    _    reverse
             J        call J
              S27     indexed range of 27
                  K   call K
cromático
fuente
1

SOGL V0.12 , 10 bytes

zl{«:}«¹╬,

Pruébalo aquí!

Explicación:

z           push the lowercase alphabet
 l{  }      repeat length times
   «          put the 1st letter at the end
    :         duplicate
      «     put the 1st letter at the end (as the last thing called is duplicate)
       ¹    wrap the stack in an array
        ╬,  quad-palindromize with 1 X and Y overlap
dzaima
fuente
1

Java 8, 154 153 bytes

o->{String r="";for(int i=0,j,d=1;i<53;d+=i++>25?-1:1){for(j=0;j<26;r+=(char)((j+++d)%26+97));for(j=24;j>=0;r+=(char)((j--+d)%26+97));r+="\n";}return r;}

Puerto de respuesta @HatsuPointerKun C ++ , así que asegúrese de votarlo también.

Pruébalo aquí.

Kevin Cruijssen
fuente
1

Kotlin , 106 bytes

{(0..52).map{i->(0..50).map{j->print((90-((Math.abs(j-25)+Math.abs(i-26)-1)+26)%26).toChar())}
println()}}

Embellecido

{
    (0..52).map {i->
        (0..50).map {j->
            print((90 - ((Math.abs(j - 25) + Math.abs(i - 26) - 1)+26) % 26).toChar())
        }
        println()
    }
}

Prueba

var v:()->Unit =
{(0..52).map{i->(0..50).map{j->print((90-((Math.abs(j-25)+Math.abs(i-26)-1)+26)%26).toChar())}
println()}}

fun main(args: Array<String>) {
    v()
}

TryItOnline

La respuesta del puerto de @Karl Napf

jrtapsell
fuente
1

VBA (Excel), 116 bytes

Sub a()
For i=-26To 26
For j=-25To 25
b=b & Chr(65+(52-(Abs(j)+Abs(i))) Mod 26)
Next
Debug.Print b
b=""
Next
End Sub

Siguiendo la lógica de sir Joffan. :RE

remodelar
fuente
1

VBA, 109 105 78 Bytes

Función de ventana inmediata anónima de VBE que no toma entrada y emite el diamante del alfabeto a la ventana inmediata de VBE.

For i=-26To 26:For j=-25To 25:?Chr(65+(52-(Abs(j)+Abs(i)))Mod 26);:Next:?:Next
Taylor Scott
fuente
1

MY-BASIC , 89 bytes

Función anónima que no lleva entradas y salidas a la consola.

For i=-26 To 26
For j=-25 To 25
Print Chr(65+(52-(Abs(j)+Abs(i)))Mod 26)
Next
Print;
Next

Pruébalo en línea!

Taylor Scott
fuente