Sortez soit le texte ci-dessous, soit une liste de listes d'entiers (plus de détails ci-dessous).
0
10 1
20 11 2
30 21 12 3
40 31 22 13 4
50 41 32 23 14 5
60 51 42 33 24 15 6
70 61 52 43 34 25 16 7
80 71 62 53 44 35 26 17 8
90 81 72 63 54 45 36 27 18 9
91 82 73 64 55 46 37 28 19
92 83 74 65 56 47 38 29
93 84 75 66 57 48 39
94 85 76 67 58 49
95 86 77 68 59
96 87 78 69
97 88 79
98 89
99
Règles
- Si vous le souhaitez, vous pouvez "un index" et les remplacer
n
parn+1
. Dans ce cas, la sortie contiendra les chiffres de 1 à 100 inclus.
Si la sortie est du texte
- Les chiffres simples sont alignés à droite dans chaque colonne du texte fourni, mais c'est bien si vous souhaitez aligner à gauche. En outre, l'alignement n'est pas nécessaire pour être cohérent entre les colonnes.
- Les espaces blancs avant / arrière sont autorisés. Les espaces de fin sur chaque ligne sont également autorisés.
- Le retour d'une liste de lignes est acceptable.
Si la sortie est numérique
- La sortie peut être une liste de listes d'entiers (ou tableau 2D):
[[1], [11, 2], [21...
- Les flotteurs vont bien.
- S'il n'est pas possible d'avoir un tableau non rectangulaire dans le langage utilisé, les éléments du tableau qui ne sont pas dans le triangle peuvent prendre n'importe quelle valeur et seront ignorés.
Si vous préférez un autre format, n'hésitez pas à demander.
Le code le plus court gagne.
Réponses:
Gelée ,
13 12 106 octets-4 merci à Dennis, oui QUATRE! (utilisation d'indices de groupe et de produit cartésien)
Utilise l'indexation 1 et l'option de liste pour la sortie.
Essayez-le en ligne! (Le pied de page formate la sortie en représentation Python)
... ou consultez une version formatée indexée 0 .
Comment?
la source
Ġ
?![5,7,5,9]Ġ
reviendrait[[1,3],[2],[4]]
. En effet, les indices[1,3]
correspondent à la valeur5
du tableau d'origine,[2]
to7
et[4]
to9
.Python 2 , 54 octets
Essayez-le en ligne!
(1 indexé, car
range(k,0,-9)
est plus court querange(k,-1,-9)
.)la source
Fusain ,
2920 octetsEssayez-le en ligne! Le lien est vers la version détaillée du code. Remarque: espace de fin. Explication:
la source
JavaScript (ES6), 61 octets
Basé sur 0. Renvoie une chaîne.
Essayez-le en ligne!
Comment?
Nous commençons avec k = n = 0 et arrêtons lorsque k = 99 . Nous soustrayons 9 de k à chaque itération.
La fin des lignes est détectée avec
k % 10 <= 0
. Cette condition est remplie si:k est négatif (partie supérieure de la pyramide) car le signe du modulo en JS est celui du dividende.
ou k% 10 == 0 (partie inférieure de la pyramide)
Au début de la ligne suivante, nous ajoutons 1 ou 10 à n et recommençons à partir de là.
la source
Python 2 , 66 octets
Essayez-le en ligne!
la source
J , 14 octets
Essayez-le en ligne!
Remarque:
Cette solution utilise une sortie encadrée - je ne sais pas si elle est autorisée (j'espère que oui, car les listes d'entiers sont également autorisées)
Alternative:
J , 10 octets
Dans cette solution, les nombres en dehors de la zone triangulaire sont affichés comme
0
Essayez-le en ligne!
Explication:
i.,~10
crée une matrice 10x10 des nombres 0..99,~10
est l'abréviation de10 10
/.
trouve les diagonales obliques (antidiagonales) de la matriceL'utilisation de
]
(mêmes) tampons toutes les lignes avec0
s. Chaque ligne est inversée. Afin de me débarrasser des zéros, j'encadre les lignes<
après les avoir inversées|.
La boxe rend la liste des listes à aplatir. Je défile enfin
,.
la liste pour que les lignes soient ordonnées dans une colonne.la source
Pure Bash (pas d'utilitaires externes), 66
Essayez-le en ligne!
la source
Pyth , 16 octets
Essayez-le en ligne!
la source
Gol> <> , 24 octets
Essayez-le en ligne!
La sortie ressemble à ceci:
Comment ça fonctionne
la source
R ,
5048 octetsEssayez-le en ligne!
1 indexé. Suit la même logique que la réponse Jelly de Jonathan Allan , alors assurez-vous de lui donner un vote positif.
En prime, voici également une implémentation de l'approche en boucle standard (indexée 0). Ici, j'ai au moins essayé de rendre la sortie plus jolie (donc, je n'ai même pas enregistré d'octets pour
print
au lieu decat(...,"\n")
me débarrasser des[1]
s agaçants dans la console.R ,
6659 octetsEssayez-le en ligne!
Edit: -2 et -7 grâce à Giuseppe.
la source
R ,
137 86 7369 octetsEssayez-le en ligne!
Version golfée précédente,% 100 crédits à Giuseppe .
Essayez-le en ligne!
Ci-dessous ma première tentative de Codegolf en le gardant juste pour mémoire.
Essayez-le en ligne!
la source
seq_len
avec1:
dans la plupart des endroits; J'ai également utiliséy:1
au lieu derev
.Octave ,
67666564 octetsEssayez-le en ligne!
Ces points-virgules manquants me font mal aux yeux!
la source
05AB1E , 22 octets
Essayez-le en ligne!
Approche super naïve: essayez-la en ligne! peut être une meilleure solution mais je ne sais pas comment aller de A à B.
la source
PowerShell , 77 octets
Essayez-le en ligne!
Sorties au format ASCII avec les chiffres à gauche alignés. Exploite le fait que la chaîne d'un tableau insère des espaces entre les éléments par défaut.
Très similaire à la réponse de Rod en Python, apparemment, mais développé indépendamment.
la source
JavaScript, 69 octets
Essayez-le en ligne!
JavaScript REPL, 77 octets
la source
Perl 5 , 62 octets
Essayez-le en ligne!
1 indexé pour économiser quelques octets
la source
Rubis , 58 octets
Essayez-le en ligne!
la source
Rouge ,
105, 9591 octetsEssayez-le en ligne!
Explication:
la source
JavaScript , 112 octets
Pas optimal, mais je voulais essayer une approche différente.
Essayez-le en ligne!
Ancienne solution:
Essayez-le en ligne!
la source
05AB1E , 16 octets
Essayez-le en ligne!
Explication
la source
Perl 6 ,
4340 octetsEssayez-le en ligne!
-3 octets grâce à Brad Gilbert b2gills.
la source
[R,] LIST
est plus court quereverse LIST