알파벳 다이아몬드


31

당신은 놀라운 알파벳 삼각형 , 알파벳 삼각형복수를 보았습니다. 이제 알파벳 삼각형 의 복수를위한 시간입니다!

소개하는 중 ...

알파벳 다이아몬드!

줄 바꿈이 중요하지만 소문자 / 대문자는 중요하지 않은이 정확한 텍스트를 출력하는 것입니다.

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

이것은 코드 골프, 최저 바이트 수입니다.

규칙 :

  1. 표준 허점은 허용되지 않습니다.
  2. a 알파벳 다이아몬드의 중심이어야합니다.

11
좋은 도전입니다. 나는 개인적으로 모퉁이가 a있고 중심이 있었다면 더 의미가 있다고 생각합니다.z
ETHproductions

4
@ETHproductions 알파벳을 입력 할 수있는 골프 언어를 어렵게 만들고 싶었습니다. 의심 스럽지만 훨씬 어렵습니다.
매직 문어 Urn

@carusocomputing 왼쪽으로 돌리면됩니다. 예를 들어 .<Pyth에서 수행하면 .<S5 1결과는 다음과 같습니다 [2, 3, 4, 5, 1]. 와 동일합니다 .<[1 2 3 4 5)1. 그래도 다이아몬드는 확실하지 않습니다.
Outgolfer Erik

@EriktheGolfer 내가 깨달았을 때, 일을하는 동안 변화를 접는 것처럼 똑똑한 방법도 있습니다. 다이아몬드 자체는 이동이 필요하므로 실제 다이아몬드 반복에서 초기 이동을 결합하는 방법도 있습니다. 누가 루핑을 최적화했는지 확인하는 것은 의도적 인 부분이었습니다.
매직 문어 Urn

@carusocomputing 나는 b대신에 첫 글자가되는 것을 의미했다 a. 물론 변속도 중요합니다.
Outgolfer Erik

답변:


16

05AB1E , 13 12 바이트

A27FÀDûˆ}¯û»

온라인으로 사용해보십시오!

설명

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

아마도 레지스터를 사용하여 바이트를 저장할 수 있고 g는 알파벳을 지우는 대신 알파벳 길이를 계산할 수 있습니다.
매직 문어 Urn

@ carusocomputing : 내가 잘못하고 있지 않는 한 (그렇다면 저를 교육시켜주십시오) 나는 13시에 끝내 었습니다. 그래도 전역 목록으로 바이트를 저장했습니다.
Emigna

A©gF®À©û})û»내가 생각했던 것입니다. 결코 잘못하고있는 것은 아닙니다! 나는 당신을 보면서 내가 아는 모든 것을 배웠습니다. 전체 목록은 동일한 기본 아이디어입니다.
매직 문어 Urn

1
이제 넌 나와 묶여있어 : 3
Oliver Ni

1
@ 올리버 : 참으로! 같은 언어로 된 두 가지 접근 방식으로 :)
Emigna

27

Vim, 62 , 60 키 스트로크

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

Lynn의 멋진 vim 답변 에서 영감 을 받아 도움말 문서에서 알파벳을 훔치는 아이디어를 가져옵니다.

올바른 일련의 키 입력을 기억하기 위해 어려움을 겪으면서 실시간으로 발생하는 것을 볼 수 있습니다!

enter image description here

이 GIF는 잘못된 출력을 생성하기 때문에 약간 구식이며 아직 다시 기록하지 않았습니다.


이 프로그램을 시도하고있어 .
LegionMammal978

Pls 재기록
ASCII 전용

8

MATL , 14 바이트

2Y226Zv27Zv!+)

온라인으로 사용해보십시오!

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

6

PHP, 129 바이트

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

syntax error, unexpected '(' on line 1어느 PHP 버전?
Tschallacka

1
@Tschallacka PHP> 7 쓰기 전에 for($f=substr;하고 $f($r=join(range(a,z)),$i,26-$i))대신 ($f=substr)($r=join(range(a,z)),$i,26-$i))오류 방지하기 위해
요 르그 Hülsermann

5

하스켈, 75 바이트

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

작동 방식 :

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

5

C, 76 바이트

아래와 같이 호출되는 함수입니다. 대문자를 인쇄합니다.

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

간단한 접근 방식, 정사각형 중심에서 x와 y 거리를 더하고 a중간에 대한 오프셋 25를 더하고 모듈로 26을 취하고 90에 대한 ASCII 코드 에서 빼십시오 Z. 어디 i%52== 0 줄 바꿈 ASCII가 10인쇄됩니다.


귀하의 오프셋 +25과 동일한 -1모듈 26
칼 Napf

2
@KarlNapf C는 수학자가하는 것처럼 음수의 모듈로를 구현하지 않습니다. -1%26C에서 -1은 25가 아니라 -1입니다. 결과는 [예상 대신 중앙에 있습니다 A. 어쨌든 고마워, 당신은 -1%2625 와 같은 루비와 같은 언어로 정확했을 것입니다 .
Level River St

5

R, 71 바이트

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

outer문자의 색인이있는 행렬 letters[...]을 만든 다음 올바른 문자가있는 벡터를 만든 cat(...,sep="",fill=53)다음 원하는 형식으로 인쇄합니다.


1
좋은 것! 어떻게 든에 대한 fill옵션을 잊어 버렸 습니다 cat. 포맷 된 행렬을 인쇄하는 좋은 방법입니다.
Billywob

4

젤리 , 13 바이트

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

온라인으로 사용해보십시오!

설명

Ø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

Øaṙ'JŒBŒḄYfor 10 :)
Jonathan Allan

@JonathanAllan 감사하지만 중간 부분이 없어서 그 ṙ1ṭ비트를 사용해야했습니다 . 또한 ØaṙJŒBŒḄY잘은 그것을 0으로 오른쪽에 벡터화하기 때문에, 당신은 빠른 필요하지 않습니다
마일

다이아몬드가 완벽하지 않다는 것을 완전히 놓쳤다! 오 잘 ...
Jonathan Allan

4

젤리, 11 바이트

27RØaṙŒḄŒBY

설명:

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

3

파이썬 2, 96 85 바이트

대문자 버전을 인쇄합니다 (1 바이트 절약).

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

진흙탕 물고기의 도움으로 이전 솔루션

s="abcdefghijklmnopqrstuvwxyz"*3
for i in range(53):j=min(i,52-i);print s[j+1:j+27]+s[j+25:j:-1]

3
알파벳보다 적은 문자를 입력하지 않습니까?
Blue

3

펄, 77 바이트

-E추가 비용없이 필요합니다 .

꽤 표준적인 접근 방법 ... 나는 역으로의 호출을 좋아하지 않습니다. 이것에 대한 더 많은 수학 기반 접근 방식이 있다고 생각합니다.

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

용법

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

당신은 후 공백을 제거하여 1 바이트를 저장할 수 있습니다 reverse에서 reverse 1..25. 은 for비록이 필요합니다.
simbabque

1
@simbabque 아마도 Perl 버전 일 것 reverse1..25입니다 0..25. 나는 실행 중입니다 5.18.2.
Dom Hastings

네가 옳아. 베어 워드 reverse1가 정의되어 있지 않기 때문 입니다. 맞는 말이다.
simbabque

3

자바 스크립트 (ES6), 97 96 바이트

@ user81655 덕분에 1 바이트 절약

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

두 개의 재귀 함수; C올바른 텍스트를 출력하는 것입니다. 여기에서보십시오 :


@ user81655 줄 바꿈이 포함될 때 항상 문자열 보간을 잊어 버립니다. P
ETHproductions

3

파이썬 3, 119 바이트

다이아몬드의 두 대칭 축을 이용하려고했지만 결국 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])

그럼에도 불구하고 좋은 해결책! for 루프를 한 줄에 작성하여 3 바이트를 줄일 수 있습니다.for k in range(1,27):D+=A[k:]+A[:k];D+=D[-2:-27:-1]+'\n'
FlipTack

다시 단축 :와 대체 'bcdefghijklmnopqrstuvwxyza'및 교체 range(1,27)와 함께 range(26). 내 바이트 수는 이제 114입니다
FlipTack

3

하스켈, 67 66 바이트

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

3

C, 252 바이트

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

형식화되고 매크로 확장 된 버전으로,보다 이해하기 쉽도록 :

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

나는 이것이 이길 수 없다는 것을 알고 있지만, 나는 재미있게 노력했다. 이것은 코드 골프에서 처음 시도한 것입니다.


코드 골프에 오신 것을 환영합니다.
매직 문어 Urn

3

배치, 255 바이트

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

설명 : 서브 루틴 u은 알파벳을 중심에서 한 글자 씩 바깥쪽으로 회전합니다. 이는 원하는 출력의 상단 절반에 사용 된 패턴입니다. 서브 루틴 l은 알파벳을 두 글자 씩 안쪽으로 회전시킵니다. 그런 다음 u서브 루틴 으로 들어가서 단일 문자 안쪽 회전을 효과적으로 수행합니다. 마지막으로 코드가 l서브 루틴 으로 들어가도록하여 마지막 행이 인쇄됩니다 .


2

파이크, 23 22 21 바이트

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

여기 사용해보십시오!

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]

2

C ++, 191 179 166 165 바이트

Kevin Cruijssen 덕분에 -12 바이트, Zacharý
덕분에 -14 바이트

#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';}}

1
다음과 같이 12 바이트를 절약 할 수 있습니다.#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

Dang it Kevin, 나중에 닌자.
Zacharý

@KevinCruijssen 감사합니다. 그런데 주석의 코드에는 인쇄 할 수없는 유니 코드 문자가 포함되어 있습니다.
HatsuPointerKun

@HatsuPointerKun 그것은 내가 두려워하는 의견에서 자동으로 발생하는 것입니다. 코드를 복사하여 붙여 넣을 때 실제로는 성가시다 .. :)
Kevin Cruijssen

2
#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';};}
Zacharý

2

, 24 21 바이트

ASCII 전용으로 -3 바이트

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

온라인으로 사용해보십시오! 링크는 자세한 버전입니다.

... 숯불 작업을해야합니다. :피



이제 네 번째 인수 Slice는 선택 사항 이라는 것을 알게되었습니다 . > _>
완전히 인간적인

모든 인수 (예, 4 개 모두)는 선택 사항입니다
ASCII 전용

와트, 닐라 딕 Slice은 무엇을합니까?
완전히 인간적인

2
아 잠깐만 nvm 예 첫 번째 인수가 필요합니다 : P
ASCII 전용

1

자바 스크립트 (ES6) 128 115 114 바이트

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

1

그루비 -103 97 바이트

나는 이것을하는 영리한 방법이 있다는 것을 알고 있지만 ...

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

스크립트의 결과가 실행될 때 요청 된 답변입니다.

( 7 바이트 절약에 대한 팁은 carusocomputing 에 감사 합니다).

이에 따라 예제가 업데이트되었습니다.

http://ideone.com/MkQeoW 참조


for 루프 대신 27.times(){}7 바이트를 사용 하고 저장할 수 있습니다 ;).
매직 문어 Urn

1

라켓 293 바이트

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

언 골프 드 :

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

테스트 :

(f)

산출:

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

1

피스 ,21 19 바이트

j+PKm+PJ.<Gd_JS27_K

온라인으로 사용해보십시오!

설명:

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

1

SOGL V0.12 , 10 바이트

zl{«:}«¹╬,

여기 사용해보십시오!

설명:

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


1

코 틀린 , 106 바이트

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

미화

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

테스트

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

@Karl Napf 의 답변 포트


1

VBA (엑셀), 116 바이트

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

Joffan 선생님의 논리를 따르십시오. :디


1

VBA, 109 (105) 78 바이트

입력을받지 않고 알파벳 다이아몬드를 VBE 즉시 창으로 출력하는 익명의 VBE 즉시 창 기능.

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


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.