Alphabet Diamond

31

Sie haben das erstaunliche Alphabet-Dreieck gesehen , die Rache des Alphabet-Dreiecks und jetzt ist es Zeit für die Rache der Rache des Alphabet-Dreiecks!

Vorstellung ...

DER ALPHABET-DIAMANT!

Ihre Aufgabe ist es, genau diesen Text auszugeben, Klein- / Großbuchstaben spielen keine Rolle, obwohl Zeilenumbrüche Folgendes tun:

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

Dies ist Code-Golf, der niedrigste bytecount gewinnt.

Regeln:

  1. Standardlücken sind nicht zulässig.
  2. a muss die Mitte des Alphabets Raute sein.
Magische Kraken-Urne
quelle
11
Schöne Herausforderung. Ich persönlich halte es für sinnvoller, wenn die Ecken aund das Zentrum z
wären
4
@ETHproductions Ich wollte es den Golfsprachen schwerer machen, die das Alphabet vorantreiben können;). Obwohl ich bezweifle, dass es viel schwieriger ist.
Magic Octopus Urn
@carusocomputing Ein Linkslauf würde es tun. Zum Beispiel .<würde es in Pyth tun: .<S5 1würde ergeben [2, 3, 4, 5, 1]. Es ist dasselbe wie .<[1 2 3 4 5)1. Nicht sicher für den Diamanten.
Erik der Outgolfer
@EriktheGolfer Mir ist klar, dass es auch einige klügere Möglichkeiten gibt, wie das Zusammenbrechen der Schicht in einer kurzen Pause. Der Diamant selbst sollte verschoben werden müssen, daher gibt es Möglichkeiten, die anfängliche Verschiebung auch in den tatsächlichen Diamantiterationen zu kombinieren. Es war ein gewollter Teil der Herausforderung, herauszufinden, wer das Looping optimiert hat.
Magic Octopus Urn
@carusocomputing Ich wollte bder Anfangsbuchstabe sein, anstatt a. Natürlich ist auch das Schalten von entscheidender Bedeutung.
Erik der Outgolfer

Antworten:

16

05AB1E , 13 12 Bytes

A27FÀDûˆ}¯û»

Probieren Sie es online!

Erläuterung

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
quelle
Könnte wahrscheinlich ein Byte mit Registern und dem g speichern, um die Länge des Alphabets zu berechnen, anstatt es zu verdoppeln.
Magic Octopus Urn
@carusocomputing: Sofern ich es nicht falsch mache (zögern Sie nicht, mich zu informieren, wenn dies der Fall ist), wurde ich mit 13 Jahren fertig. Ich habe es geschafft, ein Byte mit der globalen Liste zu speichern.
Emigna
A©gF®À©û})û»dachte ich. Tust du es niemals falsch? Ich habe alles gelernt, was ich weiß, wenn ich dich beobachtet habe. Die globale Liste ist die gleiche Grundidee.
Magic Octopus Urn
1
Jetzt bist du mit mir verbunden. : 3
Oliver Ni
1
@ Oliver: In der Tat! Und mit 2 verschiedenen Ansätzen in der gleichen Sprache :)
Emigna
27

Vim, 62 , 60 Tastenanschläge

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

Lassen Sie sich von Lynns fantastischer Antwort inspirieren , um die Idee aufzugreifen, das Alphabet aus den Hilfedokumenten zu stehlen.

Sie können es in Echtzeit beobachten, während ich mich nur schwer an die richtige Folge von Tastenanschlägen erinnere!

Bildbeschreibung hier eingeben

Beachten Sie, dass dieses GIF etwas veraltet ist, weil es die falsche Ausgabe erzeugt, und ich bin noch nicht dazu gekommen, es erneut aufzunehmen.

DJMcMayhem
quelle
Ich habe versucht , dieses Programm und bekam dies .
LegionMammal978
Bitte neu aufzeichnen
ASCII
8

MATL , 14 Bytes

2Y226Zv27Zv!+)

Probieren Sie es online!

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
quelle
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
quelle
syntax error, unexpected '(' on line 1Welche PHP-Version?
Tschallacka
1
@Tschallacka PHP> 7 bevor Sie schreiben können for($f=substr;und $f($r=join(range(a,z)),$i,26-$i))anstatt ($f=substr)($r=join(range(a,z)),$i,26-$i))den Fehler zu vermeiden
Jörg Hülsermann
5

Haskell, 75 Bytes

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

Wie es funktioniert:

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
quelle
5

C 76 Bytes

Funktion, die wie folgt aufgerufen wird. Druckt Großbuchstaben.

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();}

Einfacher Ansatz, addieren Sie die x- und y-Abstände von der Mitte des Quadrats, plus einen Versatz von 25 für adie Mitte, nehmen Sie modulo 26 und subtrahieren Sie 90den ASCII-Code für Z. Wobei i%52== 0 ein Newline-ASCII 10gedruckt wird.

Level River St
quelle
Ihr Offset +25ist derselbe wie -1in Modulo 26
Karl Napf,
2
@KarlNapf C implementiert kein Modulo negativer Zahlen, wie es Mathematiker tun. -1%26in C ist -1, nicht 25. Das Ergebnis ist a [in der Mitte anstelle des erwarteten A. Trotzdem danke, Sie wären in einer Sprache wie Ruby korrekt gewesen, wo -1%2625 gleich sind.
Level River St
5

R, 71 Bytes

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

outerErstellt eine Matrix mit den Indizes der Buchstaben, letters[...]erstellt dann einen Vektor mit den richtigen Buchstaben cat(...,sep="",fill=53)und druckt ihn mit der gewünschten Formatierung aus.

JDL
quelle
1
Schön! Irgendwie hatte ich die fillOption für vergessen cat. Tolle Möglichkeit, formatierte Matrizen zu drucken.
Billywob
4

Gelee , 13 Bytes

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

Probieren Sie es online!

Erläuterung

Ø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
Meilen
quelle
Øaṙ'JŒBŒḄYfür 10 :)
Jonathan Allan
@JonathanAllan Danke, aber da fehlt der Mittelteil, weshalb ich diesen Teil machen musste ṙ1ṭ. Auch ØaṙJŒBŒḄYist in Ordnung, Sie brauchen nicht die schnelle, da es auf der rechten Seite zu 0
Meilen
Total vermisst, dass der Diamant nicht perfekt war! Na ja ...
Jonathan Allan
4

Jelly, 11 Bytes

27RØaṙŒḄŒBY

Erläuterung:

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

Python 2, 96-85 Bytes

Drucken der Großbuchstabenversion (spart 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))

vorherige Lösung mit Hilfe von Schlammfischen

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
quelle
3
Tippen Sie nicht einfach das Alphabet weniger Zeichen?
Blue
3

Perl, 77 Bytes

Benötigt -E keine zusätzlichen Kosten.

Ziemlich normaler Ansatz ... Ich mag die Aufrufe zum Umkehren nicht. Ich denke, es gibt wahrscheinlich einen mathematischeren Ansatz dafür. Mal sehen, wie ich weiterkomme!

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

Verwendung

perl -E '@a=((a..z)x3)[$_..$_+26],$a=pop@a,(say@a,$a,reverse@a)for 1..26,reverse 1..25'
Dom Hastings
quelle
Sie können 1 Byte sparen, indem Sie das Leerzeichen nach reversein entfernen reverse 1..25. Das forbraucht es aber.
Simbabque
1
@simbabque Vielleicht ist es eine Perl-Version, aber das reverse1..25Ergebnis ist 0..25. Ich laufe 5.18.2...
Dom Hastings
Du hast recht. Weil das Barewort reverse1undefiniert ist. Macht Sinn.
Simbabque
3

JavaScript (ES6), 97 bis 96 Byte

1 Byte dank @ user81655 gespeichert

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

Zwei rekursive Funktionen; Cgibt den richtigen Text aus. Probieren Sie es hier aus:

ETHproductions
quelle
@ user81655 ich immer über String - Interpolation vergessen , wenn Zeilenumbrüche beteiligt sind: P
ETHproductions
3

Python 3, 119 Bytes

Ich habe versucht, die beiden Symmetrieachsen des Diamanten auszunutzen, aber dies endete ausführlicher als die Lösung von 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
quelle
Trotzdem eine gute Lösung! Sie können 3 Bytes reduzieren, indem Sie die for-Schleife in eine Zeile schreiben:for k in range(1,27):D+=A[k:]+A[:k];D+=D[-2:-27:-1]+'\n'
FlipTack 30.10.16
verkürzt wieder: ersetzen A mit 'bcdefghijklmnopqrstuvwxyza'und ersetzen range(1,27)mit range(26). Meine
Byteanzahl
3

Haskell, 67 66 Bytes

unlines[[toEnum$mod(-abs j-abs i)26+97|j<-[-25..25]]|i<-[-26..26]]
Damien
quelle
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);}

Formatierte, makro-erweiterte Version, die hoffentlich verständlicher ist:

#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]);
}

Ich weiß, das kann nicht gewinnen, aber ich hatte Spaß beim Ausprobieren. Dies ist mein erster Versuch, Code Golf zu spielen.

qzlpnfv
quelle
Willkommen bei Code Golf, es macht süchtig, haha;).
Magic Octopus Urn
3

Batch, 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%

Erläuterung: Die Unterroutine udreht das Alphabet um einen Buchstaben von der Mitte nach außen. Dies ist das Muster, das in der oberen Hälfte der gewünschten Ausgabe verwendet wird. Das Unterprogramm ldreht das Alphabet um zwei Buchstaben nach innen. Es fällt dann in die uUnterroutine durch, wodurch eine effektive Ein-Buchstaben-Drehung erreicht wird. Zum Schluss wird die letzte Zeile gedruckt, indem der Code in die lUnterroutine eingefügt wird.

Neil
quelle
2

Pyke, 23 22 21 Bytes

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

Probieren Sie es hier aus!

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]
Blau
quelle
2

C ++, 191 179 166 165 Bytes

-12 Bytes dank Kevin Cruijssen
-14 Bytes dank 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
quelle
1
Sie können 12 Bytes wie #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';};}
folgt
Verdammt, Kevin, du hast mich verarscht.
Zacharý
@ KevinCruijssen Danke für die Hilfe. Ihr Code im Kommentar enthielt übrigens nicht druckbare Unicode-Zeichen.
HatsuPointerKun
@HatsuPointerKun Das passiert leider automatisch in den Kommentaren. Es ist in der Tat ziemlich ärgerlich, wenn Sie versuchen, Code daraus
einzufügen
2
Sie können Makros missbrauchen, indem Sie #define C j;)std::cout<<char(97+(d+jint 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';};}
Folgendes
2

Kohle , 24 21 Bytes

-3 Bytes nur dank ASCII.

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

Probieren Sie es online! Link ist zur ausführlichen Version.

... Ich muss an meiner Holzkohle arbeiten. : P

total menschlich
quelle
Jetzt finde ich heraus, dass das vierte Argument Sliceoptional ist. > _>
totalhuman
Alle (ja, alle vier) Argumente sind optional
ASCII
wat, was macht niladic Sliceüberhaupt?
Totalhuman
2
Oh warte nvm ja das erste Argument ist erforderlich: P
Nur ASCII
1

JavaScript (ES6), 128 115 114 Byte

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
quelle
1

Groovy - 103 97 Bytes

Mir ist klar, dass es klügere Wege gibt, dies zu tun, aber ...

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

Beim Ausführen ist das Ergebnis des Skripts die angeforderte Antwort.

(Danke an carusocomputing für den Tipp zum Sparen von 7 Bytes).

Beispiel entsprechend aktualisiert am:

Siehe http://ideone.com/MkQeoW

GolfIsAGoodWalkSpoilt
quelle
Anstelle der for-Schleife können Sie 27.times(){}7 Bytes verwenden und speichern;).
Magic Octopus Urn
1

Schläger 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))))))

Ungolfed:

(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)))))

Testen:

(f)

Ausgabe:

'("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
quelle
1

Pyth ,21 19 Bytes

j+PKm+PJ.<Gd_JS27_K

Probieren Sie es online!

Erläuterung:

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
chromaticiT
quelle
1

SOGL V0.12 , 10 Bytes

zl{«:}«¹╬,

Probieren Sie es hier aus!

Erläuterung:

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
quelle
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;}

Port von @HatsuPointerKun C ++ Antwort , also stelle sicher, dass du ihn / sie auch positiv bewertest.

Probieren Sie es hier aus.

Kevin Cruijssen
quelle
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()}}

Verschönert

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

Prüfung

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

Port of @Karl Napfs Antwort

jrtapsell
quelle
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

Nach Sir Joffans Logik. : D

remoel
quelle
1

VBA, 109 105 78 Bytes

Anonyme VBE-Direktfensterfunktion, die keine Eingabe annimmt und die alphabetische Raute an das VBE-Direktfenster ausgibt.

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

MY-BASIC , 89 Bytes

Anonyme Funktion, die keine Ein- und Ausgaben an die Konsole nimmt.

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

Probieren Sie es online!

Taylor Scott
quelle