Alphabet Diamond

31

Vous avez vu l'étonnant triangle de l'alphabet , la vengeance du triangle de l'alphabet et maintenant il est temps pour la vengeance de la vengeance du triangle de l'alphabet!

Présentation ...

LE DIAMANT ALPHABET!

Votre tâche consiste à sortir ce texte exact, les minuscules / majuscules n'ont pas d'importance, bien que les retours à la ligne le fassent:

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

Il s'agit du code-golf, le plus petit nombre de victoires en nombre de fois.

Règles:

  1. Les failles standard ne sont pas autorisées.
  2. a doit être le centre du diamant de l'alphabet.
Urne Magique De Pieuvre
la source
11
Beau défi. az
Personnellement,
4
@ETHproductions Je voulais rendre les choses plus difficiles pour les langues de golf qui peuvent pousser l'alphabet;). Bien que je doute que ce soit beaucoup plus difficile.
Urne de poulpe magique du
@carusocomputing Une rotation à gauche suffirait. Par exemple, le .<ferait en Pyth: .<S5 1résulterait en [2, 3, 4, 5, 1]. C'est pareil que .<[1 2 3 4 5)1. Pas sûr pour le diamant, cependant.
Erik the Outgolfer
@EriktheGolfer Je me rends compte qu'il existe également des moyens plus intelligents de le faire, comme réduire le changement en un rien de temps. Le diamant lui-même devrait nécessiter un décalage, il existe donc des moyens de combiner également le décalage initial dans les itérations réelles du diamant. C'était une partie intentionnelle du défi de voir qui optimisait leur boucle.
Magic Octopus Urn du
@carusocomputing, je voulais dire bêtre la lettre initiale au lieu de a. Bien sûr, le déplacement est également vital.
Erik the Outgolfer

Réponses:

16

05AB1E , 13 12 octets

A27FÀDûˆ}¯û»

Essayez-le en ligne!

Explication

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
la source
Pourrait probablement enregistrer un octet en utilisant les registres et le g pour calculer la longueur de l'alphabet au lieu de le duper.
Urne de poulpe magique du
@carusocomputing: À moins que je me trompe (n'hésitez pas à me renseigner si tel est le cas), j'ai fini par faire 13 ans. J'ai réussi à enregistrer un octet avec la liste globale.
Emigna
A©gF®À©û})û»c'est ce que je pensais. Vous ne vous trompez jamais! J'ai appris tout ce que je sais en te regardant heh. La liste globale est la même idée de base.
Urne de poulpe magique du
1
Maintenant tu es à égalité avec moi. : 3
Oliver Ni
1
@Oliver: En effet! Et avec 2 approches différentes dans la même langue :)
Emigna
27

Vim, 62 , 60 touches

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

S'inspirant de la réponse impressionnante de Lynn à Vim pour prendre l'idée de voler l'alphabet des documents d'aide.

Vous pouvez le voir se produire en temps réel alors que j'ai du mal à me souvenir de la bonne séquence de touches!

entrez la description de l'image ici

Notez que ce gif est légèrement dépassé car il produit une mauvaise sortie, et je n'ai pas encore réussi à le réenregistrer.

DJMcMayhem
la source
J'ai essayé ce programme et a obtenu ce .
LegionMammal978
Pls réenregistrement ty
ASCII uniquement
8

MATL , 14 octets

2Y226Zv27Zv!+)

Essayez-le en ligne!

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
la source
6

PHP, 129 octets

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
la source
syntax error, unexpected '(' on line 1Quelle version php?
Tschallacka
1
@Tschallacka PHP> 7 avant de pouvoir écrire for($f=substr;et $f($r=join(range(a,z)),$i,26-$i))au lieu d' ($f=substr)($r=join(range(a,z)),$i,26-$i))éviter l'erreur
Jörg Hülsermann
5

Haskell, 75 octets

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

Comment ça marche:

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
la source
5

C, 76 octets

Fonction, à appeler comme ci-dessous. Imprime les majuscules.

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

Approche simple, ajoutez les distances x et y par rapport au centre du carré, plus un décalage de 25 pour ale milieu, prenez modulo 26 et soustrayez de 90, le code ASCII pour Z. Où i%52== 0 une nouvelle ligne ASCII 10est imprimée.

Level River St
la source
Votre décalage de +25est le même que -1dans modulo 26
Karl Napf
2
@KarlNapf C n'implémente pas de module de nombres négatifs comme le font les mathématiciens. -1%26en C est -1, pas 25. Le résultat est un [au centre au lieu de l'attendu A. Merci quand même, vous auriez eu raison dans une langue comme Ruby où -1%26est égal à 25.
Level River St
5

R, 71 octets

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

outercrée une matrice avec les index des lettres, letters[...]puis crée un vecteur avec les lettres correctes. cat(...,sep="",fill=53)puis l'imprime avec la mise en forme souhaitée.

JDL
la source
1
Joli! D'une certaine manière, j'avais oublié l' filloption pour cat. Excellent moyen d'imprimer des matrices formatées.
Billywob
4

Gelée , 13 octets

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

Essayez-le en ligne!

Explication

Ø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
milles
la source
Øaṙ'JŒBŒḄYpour 10 :)
Jonathan Allan
@JonathanAllan Merci, mais il manque la partie médiane, c'est pourquoi j'ai dû faire ce ṙ1ṭmorceau. Tout ØaṙJŒBŒḄYva bien, vous n'avez pas besoin du rapide car il vectorise sur la droite à 0
miles
Totalement raté que le diamant n'était pas parfait! Eh bien ...
Jonathan Allan
4

Gelée, 11 octets

27RØaṙŒḄŒBY

Explication:

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

Python 2, 96 85 octets

Impression de la version majuscule (économise 1 octet).

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

solution précédente avec l'aide 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
la source
3
n'est-ce pas simplement taper l'alphabet moins de caractères?
Blue
3

Perl, 77 octets

Nécessite -Esans frais supplémentaires.

Approche assez standard ... Je n'aime pas les appels à inverser Je pense qu'il y a probablement une approche plus mathématique à cela, je vais voir comment je m'en sors!

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

Usage

perl -E '@a=((a..z)x3)[$_..$_+26],$a=pop@a,(say@a,$a,reverse@a)for 1..26,reverse 1..25'
Dom Hastings
la source
Vous pouvez enregistrer 1 octet en supprimant l'espace après reversedans reverse 1..25. La , foril faut cependant.
simbabque
1
@simbabque, c'est peut-être une version Perl, mais cela se reverse1..25traduit par 0..25. Je cours 5.18.2...
Dom Hastings
Tu as raison. Parce que le bareword reverse1n'est pas défini. Logique.
simbabque
3

JavaScript (ES6), 97 96 octets

1 octet enregistré grâce à @ 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

Deux fonctions récursives; Cest celui qui sort le texte correct. Essayez-le ici:

ETHproductions
la source
@ user81655 J'oublie toujours l'interpolation de chaînes lorsque des sauts de ligne sont impliqués: P
ETHproductions
3

Python 3, 119 octets

J'ai essayé d'exploiter les deux axes de symétrie du diamant, mais cela s'est avéré plus verbeux que la solution 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
la source
Une bonne solution néanmoins! Vous pouvez réduire 3 octets en écrivant la boucle for sur 1 ligne:for k in range(1,27):D+=A[k:]+A[:k];D+=D[-2:-27:-1]+'\n'
FlipTack
raccourci à nouveau: remplacer A par 'bcdefghijklmnopqrstuvwxyza'et remplacer range(1,27)par range(26). Mon nombre d'octets est désormais de 114
FlipTack
3

Haskell, 67 66 octets

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

C, 252 octets

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

Version formatée et macro-étendue, qui est, espérons-le, plus intelligible:

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

Je sais que cela ne peut pas gagner, mais je me suis amusé à essayer. Ceci est ma première tentative de golf de code.

qzlpnfv
la source
Bienvenue au code golf, c'est addictif haha;).
Urne de poulpe magique
3

Lot, 255 octets

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

Explication: Le sous-programme ufait pivoter l'alphabet vers l'extérieur d'une lettre à partir du centre, qui est le modèle utilisé dans la moitié supérieure de la sortie souhaitée. Le sous-programme lfait pivoter l'alphabet vers l'intérieur de deux lettres. Il tombe ensuite dans le usous - programme, réalisant une rotation vers l'intérieur efficace d'une seule lettre. Enfin, la dernière ligne est imprimée en permettant au code de passer dans le lsous - programme.

Neil
la source
2

Pyke, 23 22 21 octets

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

Essayez-le ici!

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]
Bleu
la source
2

C ++, 191 179 166 165 165 octets

-12 octets grâce à Kevin Cruijssen
-14 octets grâce à 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
la source
1
Vous pouvez enregistrer 12 octets comme ceci:#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, vous me ninja.
Zacharý
@KevinCruijssen Merci pour l'aide. Soit dit en passant, votre code dans le commentaire contenait des caractères Unicode non imprimables.
HatsuPointerKun
@HatsuPointerKun C'est quelque chose qui se produit automatiquement dans les commentaires, je le crains. C'est en effet assez ennuyeux lorsque vous essayez de copier-coller du code à partir de celui-ci .. :)
Kevin Cruijssen
2
Vous pouvez abuser des macros en ajoutant ceci #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

Fusain , 24 21 octets

-3 octets grâce à ASCII uniquement.

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

Essayez-le en ligne! Le lien est vers la version détaillée.

... J'ai besoin de travailler sur mon charbon de bois. : P

totalement humain
la source
Maintenant, je découvre que le quatrième argument de Sliceest facultatif. > _>
totalement humain
Tous les arguments (oui, tous les quatre) sont facultatifs
ASCII uniquement
qu'est-ce que niladic fait Slicemême?
2017 totalement humain
2
Oh attendez nvm ouais le premier argument est requis: P
ASCII uniquement
1

JavaScript (ES6), 128 115 114 octets

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
la source
1

Groovy - 103 97 octets

Je me rends compte qu'il existe des moyens plus intelligents de le faire, mais ...

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

Lors de l'exécution, le résultat du script est la réponse demandée.

(Merci à carusocomputing pour l'astuce pour économiser 7 octets).

Exemple mis à jour en conséquence sur:

Voir http://ideone.com/MkQeoW

GolfIsAGoodWalkSpoilt
la source
Au lieu de la boucle for, vous pouvez utiliser 27.times(){}et enregistrer 7 octets;).
Urne de poulpe magique
1

Raquette 293 octets

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

Essai:

(f)

Sortie:

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

Pyth ,21 19 octets

j+PKm+PJ.<Gd_JS27_K

Essayez-le en ligne!

Explication:

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
la source
1

SOGL V0.12 , 10 octets

zl{«:}«¹╬,

Essayez-le ici!

Explication:

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
la source
1

Java 8, 154 153 octets

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 de @HatsuPointerKun C ++ réponse , alors assurez-vous de lui aussi voter.

Essayez ici.

Kevin Cruijssen
la source
1

Kotlin , 106 octets

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

Embellie

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

Tester

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 de @Karl Napf 's answer

jrtapsell
la source
1

VBA (Excel), 116 octets

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

En suivant la logique de Sir Joffan. :RÉ

remoel
la source
1

VBA, 109 105 78 octets

Fonction de fenêtre immédiate VBE anonyme qui ne prend aucune entrée et sort le losange de l'alphabet dans la fenêtre immédiate VBE.

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

MY-BASIC , 89 octets

Fonction anonyme qui ne prend aucune entrée et sortie sur la console.

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

Essayez-le en ligne!

Taylor Scott
la source