Alfabet Berlian

31

Anda telah melihat segitiga alfabet yang menakjubkan , balas dendam dari segitiga alfabet dan sekarang saatnya untuk balas dendam dari pembalasan segitiga alfabet!

Memperkenalkan...

DIAMOND ALFABET!

Tugas Anda adalah menampilkan teks yang tepat ini, huruf kecil / huruf besar tidak masalah, meskipun baris baru melakukannya:

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

Ini adalah kode-golf, kemenangan bytecount terendah.

Aturan:

  1. Celah standar tidak diijinkan.
  2. a harus menjadi pusat berlian alfabet.
Guci Gurita Ajaib
sumber
11
Tantangan yang bagus. Saya pribadi berpikir akan lebih masuk akal jika sudut-sudutnya ada adan pusatnya adalahz
ETHproduksi
4
@ ETHproductions Saya ingin membuatnya lebih sulit untuk bahasa golf yang dapat mendorong alfabet;). Meskipun aku ragu itu jauh lebih sulit.
Magic Gurita Guci
@carusocomputing Rotasi kiri akan melakukannya. Misalnya, .<akan melakukannya dalam Pyth: .<S5 1akan menghasilkan [2, 3, 4, 5, 1]. Itu sama dengan .<[1 2 3 4 5)1. Tapi tidak yakin untuk berliannya.
Erik the Outgolfer
@EriktheGolfer Saya sadar, ada beberapa cara yang lebih cerdas untuk melakukannya juga, seperti merobohkan perubahan dalam waktu singkat. Berlian itu sendiri harus membutuhkan pengalihan, jadi ada cara untuk menggabungkan perubahan awal dalam iterasi berlian yang sebenarnya juga. Itu adalah bagian dari tantangan untuk melihat siapa yang mengoptimalkan perulangan mereka.
Guci Gurita Ajaib
@carusocomputing maksud saya tentang bmenjadi huruf awal, bukan a. Tentu saja pergeseran juga penting.
Erik the Outgolfer

Jawaban:

16

05AB1E , 13 12 byte

A27FÀDûˆ}¯û»

Cobalah online!

Penjelasan

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
sumber
Mungkin bisa menyimpan byte menggunakan register dan g untuk menghitung panjang alfabet alih-alih membodohinya.
Guci Gurita Ajaib
@carusocomputing: Kecuali jika saya salah melakukannya (jangan ragu untuk mendidik saya jika itu masalahnya) Saya berakhir pada 13 melakukan itu. Saya berhasil menyimpan byte dengan daftar global.
Emigna
A©gF®À©û})û»adalah apa yang saya pikirkan. Tidak berarti apakah Anda pernah melakukan kesalahan! Saya sudah belajar semua yang saya tahu dari menonton Anda heh. Daftar global adalah ide dasar yang sama.
Magic Gurita Guci
1
Sekarang Anda terikat dengan saya. : 3
Oliver Ni
1
@Liver: Memang! Dan dengan 2 pendekatan berbeda dalam bahasa yang sama :)
Emigna
27

Vim, 62 , 60 penekanan tombol

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

Menggambar inspirasi dari jawaban vim Lynn yang luar biasa untuk mengambil ide mencuri alfabet dari dokumen bantuan.

Anda dapat menyaksikannya terjadi secara real time ketika saya berjuang untuk mengingat urutan penekanan tombol yang tepat!

masukkan deskripsi gambar di sini

Perhatikan bahwa gif ini sedikit usang karena menghasilkan output yang salah, dan saya belum sempat merekamnya lagi.

DJMcMayhem
sumber
Saya mencoba program ini dan mendapatkan ini .
LegionMammal978
Harap rekam ulang
ASCII
8

MATL , 14 byte

2Y226Zv27Zv!+)

Cobalah 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
sumber
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
sumber
syntax error, unexpected '(' on line 1Versi php yang mana?
Tschallacka
1
@Tschallacka PHP> 7 sebelum Anda dapat menulis for($f=substr;dan $f($r=join(range(a,z)),$i,26-$i))bukannya ($f=substr)($r=join(range(a,z)),$i,26-$i))menghindari kesalahan
Jörg Hülsermann
5

Haskell, 75 byte

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

Bagaimana itu bekerja:

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

C, 76 byte

Fungsinya, bisa disebut seperti di bawah ini. Mencetak huruf besar.

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

Pendekatan sederhana, tambahkan jarak x dan y dari pusat alun-alun, ditambah offset 25 untuk adi tengah, ambil modulo 26 dan kurangi dari 90, kode ASCII untuk Z. Di mana i%52== 0 ASCII baris baru 10dicetak.

Level River St
sumber
Offset Anda +25sama dengan -1di modulo 26
Karl Napf
2
@ KarlNapf C tidak menerapkan modulo angka negatif seperti yang dilakukan matematikawan. -1%26di C adalah -1, bukan 25. Hasilnya adalah [di tengah, bukan yang diharapkan A. Bagaimanapun, terima kasih, Anda akan benar dalam bahasa seperti Ruby di mana -1%26tidak sama dengan 25.
Level River St
5

R, 71 byte

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

outermembuat matriks dengan indeks huruf, letters[...]lalu membuat vektor dengan huruf yang benar masuk, cat(...,sep="",fill=53)lalu mencetaknya dengan format yang diinginkan.

JDL
sumber
1
Yang bagus! Entah bagaimana saya lupa tentang fillopsi untuk cat. Cara hebat mencetak matriks yang diformat.
Billywob
4

Jelly , 13 byte

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

Cobalah online!

Penjelasan

Ø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
mil
sumber
Øaṙ'JŒBŒḄYuntuk 10 :)
Jonathan Allan
@ JonathanAllan Terima kasih, tetapi itu tidak ada di bagian tengah itulah sebabnya saya harus melakukan itu ṙ1ṭ. Juga ØaṙJŒBŒḄYbaik-baik saja, Anda tidak perlu cepat karena itu vektor di sebelah kanan untuk 0
mil
Benar-benar ketinggalan bahwa berlian itu tidak sempurna! Oh well ...
Jonathan Allan
4

Jelly, 11 byte

27RØaṙŒḄŒBY

Penjelasan:

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

Python 2, 96 85 byte

Mencetak versi huruf besar (menghemat 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))

solusi sebelumnya dengan bantuan dari 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
sumber
3
bukankah hanya mengetik karakter alfabet yang lebih sedikit?
Biru
3

Perl, 77 byte

Membutuhkan -Etanpa biaya tambahan.

Pendekatan standar cantik ... Saya tidak suka panggilan untuk membalikkan Saya pikir ada kemungkinan lebih banyak pendekatan berbasis matematika untuk ini, akan melihat bagaimana saya maju!

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

Pemakaian

perl -E '@a=((a..z)x3)[$_..$_+26],$a=pop@a,(say@a,$a,reverse@a)for 1..26,reverse 1..25'
Dom Hastings
sumber
Anda dapat menyimpan 1 byte dengan menghapus spasi setelah reversedi reverse 1..25. The formembutuhkannya sekalipun.
simbabque
1
@simbabque mungkin versi versi Perl, tetapi reverse1..25menghasilkan 0..25. Saya sedang berlari 5.18.2...
Dom Hastings
Kamu benar. Karena kata pengantar reverse1tidak terdefinisi. Masuk akal.
simbabque
3

JavaScript (ES6), 97 96 byte

Disimpan 1 byte berkat @ 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

Dua fungsi rekursif; Cadalah salah satu yang menampilkan teks yang benar. Coba di sini:

Produksi ETH
sumber
@ user81655 Saya selalu lupa tentang interpolasi string ketika baris baru terlibat: P
ETHproduk
3

Python 3, 119 byte

Saya mencoba untuk mengeksploitasi dua sumbu simetri berlian, tetapi ini akhirnya lebih bertele-tele daripada solusi 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
sumber
Namun, solusi yang bagus! Anda dapat mengurangi 3 byte dengan menulis loop for dalam 1 baris:for k in range(1,27):D+=A[k:]+A[:k];D+=D[-2:-27:-1]+'\n'
FlipTack
dipersingkat lagi: ganti A dengan 'bcdefghijklmnopqrstuvwxyza'dan ganti range(1,27)dengan range(26). Hitungan byte saya sekarang 114
FlipTack
3

Haskell, 67 66 byte

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

C, 252 byte

#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 terformat, versi makro, yang diharapkan lebih mudah dipahami:

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

Saya tahu ini tidak bisa menang, tetapi saya senang mencoba. Ini adalah upaya pertama saya di golf kode.

qzlpnfv
sumber
Selamat datang di kode golf, ini adiktif haha;).
Magic Octopus Mm
3

Batch, 255 byte

@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%

Penjelasan: Subrutin umemutar alfabet ke luar dengan satu huruf dari tengah, yang merupakan pola yang digunakan di bagian atas dari output yang diinginkan. Subrutin lmemutar alfabet ke dalam dengan dua huruf. Kemudian jatuh ke dalam usubrutin, mencapai rotasi satu huruf efektif ke dalam. Akhirnya baris terakhir dicetak dengan membiarkan kode masuk ke dalam lsubrutin.

Neil
sumber
2

Pyke, 23 22 21 byte

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

Coba di sini!

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]
Biru
sumber
2

C ++, 191 179 166 165 byte

-12 byte terima kasih kepada Kevin Cruijssen
-14 byte terima kasih kepada 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
sumber
1
Anda dapat menyimpan 12 byte seperti ini:#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
Sialan Kevin, ninja nih aku.
Zacharý
@KevinCruijssen Terima kasih atas bantuannya. Ngomong-ngomong, kode Anda di komentar berisi karakter unicode yang tidak dapat dicetak.
HatsuPointerKun
@HatsuPointerKun Itu adalah sesuatu yang terjadi secara otomatis di komentar yang saya khawatirkan. Memang sangat menyebalkan ketika Anda mencoba menyalin-menempelkan kode darinya .. :)
Kevin Cruijssen
2
Anda dapat menyalahgunakan makro dengan menambahkan ini #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';};}
:,
2

Arang , 24 21 byte

-3 byte berkat ASCII saja.

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

Cobalah online!Tautan adalah untuk versi verbose.

... Saya perlu mengerjakan Arang-fu saya. : P

benar-benar manusiawi
sumber
off byte mudah
ASCII-satunya
Sekarang saya mengetahui bahwa argumen keempat Sliceadalah opsional. > _>
totallyhuman
Semua (ya, keempat) argumen adalah opsional
ASCII
wat, apa yang dilakukan niladik Slice?
totallyhuman
2
Oh tunggu nvm ya argumen pertama diperlukan: P
ASCII-only
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
sumber
1

Groovy - 103 97 byte

Saya menyadari ada cara yang lebih pintar untuk melakukan ini tetapi ...

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

Saat menjalankan hasil skrip adalah jawaban yang diminta.

(Berkat carusocomputing untuk tip menghemat 7 byte).

Contoh yang diperbarui diperbarui pada:

Lihat http://ideone.com/MkQeoW

GolfIsAGoodWalkSpoilt
sumber
Alih-alih untuk loop Anda dapat menggunakan 27.times(){}dan menyimpan 7 byte;).
Magic Gurita Guci
1

Racket 293 byte

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

Tidak Disatukan:

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

Pengujian:

(f)

Keluaran:

'("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")
juga
sumber
1

Pyth ,21 19 byte

j+PKm+PJ.<Gd_JS27_K

Cobalah online!

Penjelasan:

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
berwarna
sumber
1

SOGL V0.12 , 10 byte

zl{«:}«¹╬,

Coba Di Sini!

Penjelasan:

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

Java 8, 154 153 byte

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 @HatsuPointerKun C ++ menjawab , jadi pastikan Anda juga menambahkannya.

Coba di sini.

Kevin Cruijssen
sumber
1

Kotlin , 106 byte

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

Yg diperindahkan

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

Uji

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 Napf menjawab

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

Mengikuti Logika Sir Joffan. : D

remoel
sumber
1

VBA, 109 105 78 Bytes

Fungsi jendela langsung VBE anonim yang tidak mengambil input dan mengeluarkan berlian alfabet ke jendela langsung VBE.

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

uBASIC , 86 byte

0ForI=-26To26:ForJ=-25To25:?Left$(Chr$(65+(52-(Abs(J)+Abs(I)))Mod26),1);:NextJ:?:NextI

Cobalah online!

Taylor Scott
sumber
1

MY-BASIC , 89 byte

Fungsi anonim yang tidak mengambil input dan output ke konsol.

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

Cobalah online!

Taylor Scott
sumber