Étant donné des entiers positifs, et h produisent w colonnes et h lignes de texte comme décrit ci-dessous.
La première rangée commence avec 11 0
s, la deuxième rangée avec 10 1
s, la troisième avec neuf 2
s et ainsi de suite la dixième rangée avec deux 9
s. Sur chacune de ces dix premières lignes, après l'exécution initiale des chiffres consécutifs, le chiffre le plus bas suivant apparaît deux fois avant que le deuxième chiffre le plus bas suivant n'apparaisse deux fois, ce modèle se répétant indéfiniment. Si une série de 0
s se produit, les chiffres qui suivent sont toujours 9
s.
Les rangées en dessous de la dixième rangée sont les mêmes que la rangée immédiatement au-dessus, mais décalées d'une droite vers la droite. Le nouveau chiffre qui apparaît est le même que le chiffre le plus à gauche précédent s'il n'était pas à côté d'une autre instance de lui-même. Sinon, c'est le chiffre le plus élevé suivant (passant de 9 à 0).
Les premiers éléments sont les suivants:
00000000000
11111111110
22222222211
33333333221
44444443322
55555544332
66666554433
77776655443
88877665544
99887766554
Voici une image avec du texte en couleur pour rendre le motif plus clair.
Si vous devez produire moins de colonnes / lignes, vous devez simplement recadrer le texte ci-dessus.
Si vous devez produire plus de colonnes / lignes que cela, les escaliers existants doivent être prolongés. Si plusieurs colonnes / lignes ajoutent de nouveaux escaliers de chiffres consécutifs, les chiffres doivent être choisis cycliquement parmi les entiers. Ainsi, pour l'entrée la sortie doit être
000000000009988
111111111100998
222222222110099
333333332211009
444444433221100
555555443322110
666665544332211
777766554433221
888776655443322
998877665544332
099887766554433
009988776655443
100998877665544
Voici une image de ce texte en couleur:
Règles
- La sortie peut être donnée par n'importe quelle méthode pratique .
- Un programme complet ou une fonction sont acceptables. S'il s'agit d'une fonction, vous pouvez renvoyer la sortie plutôt que de l'imprimer.
- Vous pouvez renvoyer une liste de lignes si vous préférez.
- Vous pouvez renvoyer un tableau 2D de chiffres ou une liste de listes de chiffres si vous préférez.
- Failles standard interdites.
Le code le plus court gagne.
Cas de test
1,1
0
3,2
000
111
20,1
00000000000998877665
11,10
00000000000
11111111110
22222222211
33333333221
44444443322
55555544332
66666554433
77776655443
88877665544
99887766554
15,13
000000000009988
111111111100998
222222222110099
333333332211009
444444433221100
555555443322110
666665544332211
777766554433221
888776655443322
998877665544332
099887766554433
009988776655443
100998877665544
la source
Réponses:
Python 3,
9493787774 octets-1 octet de dylnan
-15 octets en retournant une liste de listes au lieu d'imprimer à partir de xnor
-1 octet en changeant l'ordre du
(j-i+10)//2%10
et desj
parties duif
-else
-3 octets de Jo King en remplaçant le
if
-else
par une liste.Essayez-le en ligne!
la source
C (gcc) ,
10110099 octetsEssayez-le en ligne!
la source
printf("%d",
->putchar(48+
Toile, 14 octets
Essayez-le ici!
En faisant cela, j'ai remarqué à plusieurs endroits que j'avais des modules négatifs dans Canvas (ici, cela signifiait que
»
- étage div 2 - arrondi vers 0). La réponse précédente de 18 octets qui fonctionnait sans correctifs ne fonctionne plus (car je sauvegarde uniquementmain.js
entre les versions) mais TIO a toujours l'ancienne versionExplication:
la source
Fusain ,
2017 octetsEssayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
Edit: enregistré 3 octets en passant à l'algorithme de @ dzaima.
la source
Gelée , 14 octets
Essayez-le en ligne! Ou consultez une suite de tests (post-formatée).
Comment?
la source
Kotlin , 78 octets
Essayez-le en ligne!
la source
Gelée , 19 octets
Utilise une approche très similaire à celle des pizzapants et de Neil . Enregistré 1 octet grâce à Jonathan Allan .
Essayez-le en ligne!
Le lien d'aide
Il s'agit d'un lien monadique (l'équivalent Jelly d'une fonction d'argument unique), qui peut être invoqué à partir du lien suivant à l'aide du quick
Ç
. Il prend une liste de deux entiers et effectue les opérations suivantes:Réduisez par soustraction.
Fixez sa moitié à un entier et ajoutez 5, puis prenez-le modulo 10.
Le maillon principal
ç
Produit cartésien de leurs plages, puis soustrayez1 ( [ 0 , x ) ∩ Z ) × ( [ 0 , y) ∩ Z )
Et pour chacune des paires du produit cartésien, si leur somme est inférieure à 9, alors:
Récupérez la tête de la paire (premier élément). Autrement,
Appelez le lien d'assistance (expliqué ci-dessus) sur la paire.
la source
p’Ḣ_/HḞ+ʋS<9Ɗ?€5s%⁵
oup’Ḣ_/:2+ʋS<9Ɗ?€5s%⁵
, soit en tant que monade avecp’Ḣ_/:2+5ƲS<9Ɗ?€s%⁵