Le défi
Votre tâche consiste à créer un programme ou une fonction qui génère les éléments suivants sans entrée:
a
bb
ccc
dddd
eeeee
ffffff
ggggggg
hhhhhhhh
iiiiiiiii
jjjjjjjjjj
kkkkkkkkkkk
llllllllllll
mmmmmmmmmmmmm
nnnnnnnnnnnnnn
ooooooooooooooo
pppppppppppppppp
qqqqqqqqqqqqqqqqq
rrrrrrrrrrrrrrrrrr
sssssssssssssssssss
tttttttttttttttttttt
uuuuuuuuuuuuuuuuuuuuu
vvvvvvvvvvvvvvvvvvvvvv
wwwwwwwwwwwwwwwwwwwwwww
xxxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyyyyy
zzzzzzzzzzzzzzzzzzzzzzzzzz
Notation
C'est le golf de code , donc la réponse la plus courte dans chaque langue l'emporte.
code-golf
string
kolmogorov-complexity
alphabet
SpookyGengar
la source
la source
Réponses:
05AB1E , 2 octets
Essayez-le en ligne!
Notez que cela sort comme une liste de lignes, comme l'OP l'a explicitement autorisé. Le lien utilise une version avec jolie impression (rejoint par des nouvelles lignes).
Comment ça marche
A
renvoie l'alphabet minuscule.ƶ
soulève l'alphabet (multiplie chaque élément par son index).»
rejoint par des nouvelles lignes.la source
Python 2 , 36 octets
Essayez-le en ligne!
la source
APL (Dyalog) ,
1285 octets SBCS3 octets enregistrés grâce à @ngn
4 octets enregistrés grâce à @ Adám
Les lettres majuscules clarifiées OP sont valides, ainsi que la sortie sous forme de tableau de chaînes.
Essayez-le en ligne!
Comment?
⌸
nous donne chaque lettre de l'⎕A
alphabet avec ses index, remise à la fonction⍴⍨
avec la lettre comme argument de gauche et l'indexescomme argument de droite.⍴⍨
resha ⍴ es son argument de droite à la longueur fournie par sa gauche.⍨
bascule la gauche et la droite (donc le symbole de celui-ci, ressemblant au visage de quelqu'un qui lit cette explication).la source
819⌶↑⎕A⍴¨⍨⍳26
↑
.Haskell , 27 octets
Essayez-le en ligne! Renvoie une liste de lignes. (Merci à @totallyhuman d'avoir souligné que cela est désormais autorisé)
Explication:
la source
<$
son premier argument n fois, où n est la longueur de son deuxième argument?brainfuck , 74 octets
Essayez-le en ligne!
Explication
Essayez-le en ligne!
la source
Befunge-98 (FBBI) , 27 octets
où
est un caractère de substitution (ASCII 26)
Essayez-le en ligne!
Utilise des lettres majuscules et a une nouvelle ligne de fin.
Explication
Le code fonctionne en stockant un compteur (0 initialement), et sur chaque boucle:
1+
- Incrémente de 1:0\::
- Pousse les choses pour que la pile ressemble à ceci:bottom [N, 0, N, N, N] top
'`j'@
- Vérifie si le compteur est supérieur à 26j'@
- Si c'est le cas, nous sautons par dessus'
et sortons en utilisant@
j'@
- Si ce n'est pas le cas, nous exécutons le'
, qui pousse la valeur ASCII de@
la pileMaintenant, la pile ressemble à ceci:
bottom [N, 0, N, N, 64] top
+\
- Ajoute, puis bascule le top 2:bottom [N, 0, (N+64), N] top
la première fois, c'est ASCII 65, ouA
k:
- Duplique la seconde des meilleurs(N+1)
temps - maintenant il y a des(N+2)
valeurs de(N+64)
sur la pile (plus leN
et0
du précédent)$$
- Jetez les 2 premières valeurs - maintenant il n'y a que desN
valeurs de(N+64)
>:#,_
- Imprime chaque valeur supérieure jusqu'à ce qu'elle atteigne un0
- cela signifie que desN
copies de(N+64)
sont imprimées$
- Jette le0
- Maintenant, la pile est justeN
a,
- Imprime une entréeEt ça se répète
J'aime la façon dont j'ai utilisé les
@
deux pour terminer le programme et pour l'ajouter au compteur.la source
Rubis ,
3230 octets-2 octets grâce à @EricDuminil.
Essayez-le en ligne!
la source
27.times{|n|puts (n+96).chr*n}
serait correct avec 30 octetsJavaScript (ES6), 54 octets
la source
Excel VBA, 38 octets
Utilisation de la fenêtre immédiate. :)
la source
"
BASH,
59 5440 octetsEssayez-le en ligne!
THX. 5 octets à @Justin Mariner
la source
for
boucle peut être parcourue en utilisant cette astuce pour 54 octets: Essayez-le en ligne!Rubis, 38 octets
Renvoie un tableau de chaînes
-5 octets grâce à totalement humain
* -11 octets grâce à l'excellent golf de Jordan.
la source
"\n"
du tout;puts
fait cela pour vous (bien que pour référence future il$/
soit plus court de 2 octets), mais vous pouvez vous en débarrasserputs
entièrement si vous en faites un lambda qui retourne juste un tableau de lignes. Vous pouvez également passera=[*?a..?z];puts a.map
àputs (a=*?a..?z).map
etx*(a.index(x)+1)
àx*-~a.index(x)
. Ensemble, cela fait 38 octets .(a=*?a..?z)
est à l'intérieur du bloc, pas la partie arguments du lambda.V , 9 octets
Essayez-le en ligne!
Hexdump:
la source
MATL , 9 octets
Essayez-le en ligne!
Explication
la source
&
ne peut pas être utilisé pour dupliquer et transposer2Y2
?&
ne fait pas de duplication et de transposition, bien qu'il produise parfois le même résultat que cela. Il modifie le nombre d'entrées / sorties de la fonction suivante. Par exemple, si vous utilisez&+
, la+
fonction prend désormais une entrée au lieu de deux et génère la somme de l'entrée avec elle-même transposée. Mais c'est seulement parce que c'est comme ça que ça+
marche avec 1 entrée (la même chose pour=
,>
et quelques autres)Python 3 , 37 octets
Imprime une nouvelle ligne de début (ce qui est autorisé).
Essayez-le en ligne!
la source
Gelée ,
54 octetsabus de mise en œuvre sournoise de Python
-1 octet grâce à Adám (la sortie d'une liste de lignes a été autorisée; comme, maintenant, a écrit une fonction plutôt qu'un programme)
Un lien niladic qui retourne une liste de chaînes, les lignes
(pour imprimer avec les nouvelles lignes comme un programme complet juste ajouter de
Y
nouveau dans ).Essayez-le en ligne! (le pied de page appelle le lien en tant que nilad (
¢
) et obtient la représentation Python du résultat (ŒṘ
) pour plus de clarté car le comportement par défaut du programme complet écraserait le résultat ensemble commeabbccc...
)Comment?
la source
Øa×J
devrait suffire .MATL , 11 octets
Essayez-le en ligne!
Utilise la multiplication de diffusion avec ceux pour obtenir une grande matrice carrée 26x26 des lettres souhaitées. Ensuite, la partie triangulaire inférieure est prise et imprimée implicitement.
Aussi 11 octets:
la source
Javascript,
87 octets, 72 octets (Un grand merci à @steenbergh)Ma première réponse aussi:
la source
ind=1
au début, le point-virgule aprèsi<123
et le point-virgule final. veuillez également rendre votre en-tête un peu plus clair en indiquant la langue - bytecount, préfixée par un #.j
complètement:for(i=1;i<27;){console.log(String.fromCharCode(i+96).repeat(i++))}
Japt ,
97 octetsProduit un tableau de lignes
Essayez-le
Explication
Divisez (
¬
) l'alphabet en minuscules (;C
) en un tableau de caractères, mappez le tableau (Ë
) et répétez (p
) l'élément en cours par l'index en cours (E
) incrémenté (°
) fois.la source
®p°Y
Pip , 9 octets
Essayez-le en ligne!
En pseudocode, c'est
où
z
est préréglé sur l'alphabet minuscule eti
est préréglé sur 0.Les solutions basées sur une carte prennent un octet supplémentaire car elles ont besoin que l'
-n
indicateur s'affiche sur plusieurs lignes:la source
Acc !! , 66 octets
Essayez-le en ligne!
Avec commentaires
la source
Haskell , 31 octets
-12 octets grâce à nimi.
Essayez-le en ligne!
Ce n'est pas un extrait, c'est une fonction nullary (celle qui ne prend aucun argument) qui génère une liste de lignes qui est autorisée en raison de ce méta consensus .
la source
R , 38 octets
Une réponse relativement peu intéressante. Itérer
i
de 1 à 26, imprimer lai
e lettre desi
heures de l'alphabet (avec un saut de ligne implicite).Essayez-le en ligne!
Une approche plus intéressante pourrait être d'utiliser quelque chose comme ceci:
Cela nous donne toutes les lettres dans la bonne quantité, mais pas de sauts de ligne. Peut-être que quelqu'un de plus intelligent que moi peut trouver un moyen de l'utiliser pour faire une réponse de golfeur.
la source
rep(letters, 1:26)
c'est beaucoup plus court ...Perl 5 , 19 octets
Essayez-le en ligne!
la source
Rouille , 82 octets
J'avais espéré que cela aurait été beaucoup plus court, mais la conversion / conversion explicite entre les types prend beaucoup d'octets :(
Essayez-le en ligne!
la source
PHP,
4746 octetsou
Courez avec
-nr
ou essayez-le en ligne .la source
J ,
1817 octetsExplication:
Essayez-le en ligne!
la source
Perl 6 ,
2423 octetsEssayez-le
Essayez-le
la source
Octave ,
2524 octetsEssayez-le en ligne!
Sauvegardé d'un octet grâce à Giuseppe qui m'a informé que OP autorise les lettres majuscules.
Explication:
Créez un vecteur
x
avec les valeurs ASCII de l'alphabet majuscule et transposez-le. Ajoutez le négatifx
(donc 26 zéros, dans un vecteur ligne, afin de créer une grille avec (les valeurs ASCII de):Prenez la matrice triangulaire inférieure et convertissez-la en caractères en concaténant avec la chaîne vide.
la source
C (gcc) ,
48 octets50 octetsVersion réexécutable, selon cleblanc et Steadybox dans les commentaires ci-dessous.
Essayez-le en ligne!
la source
s[9];main(i){for(;i<27;)puts(memset(s,i+95,i++));}
bat toujours ma réponse de quelques octets :)s[9];main(i){for(;puts(memset(s,i+95,i++))-27;);}
Japt,
171611 octets-5 octets grâce à Oliver
Dans ISO-8859-1
Pas le meilleur score, mais je suis toujours novice. Toute suggestion est la bienvenue.
Affiche la liste des lignes, comme OP le permet. Le lien contient 3 octets de plus pour les sauts de ligne.
Essayez-le en ligne!
la source
1oBÊÄ
peut être remplacé par26õ
. Vous pouvez économiser quelques octets supplémentaires en faisant quelque chose comme;26ÆCgX pXÄ
o
prend l'f
argument ...