Votre tâche consiste à remplir le seau de chiffres jusqu'à une entrée donnée.
Règles
Les nombres occupent la position la plus à gauche puis la plus à droite, puis la plus à gauche et ainsi de suite.
Après le débordement, les chiffres commencent à se rassembler autour du seau de manière similaire. Ils occupent la position en diagonale.
Les exemples doivent indiquer clairement le résultat attendu (certaines règles sont mentionnées dans les exemples).
Pour plus de 10, utilisez le chiffre le plus à droite
Exemples:
The bucket:
| | or | |
| | | |
| | | |
| | | |
|------| |______|
input:1 (You can start from either 0 or 1)
output:
| | (There can be whitespace to the left even if there is no overflow
| | but the bucket must not be distorted.)
| |
|1 |
|------|
input:6
output:
| |
| |
| |
|135642|
|------|
input:8
output:
| |
| |
|7 8|
|135642|
|------|
input:23
output:
|913 20|
|357864|
|791208|
|135642|
|------|
input:27
output:
|913420|
|357864|
|791208|
|135642|
75|------|6
input:30
output:
|913420|
|357864|
|791208|
9|135642|0
75|------|68
input:40
output:
|913420|
|357864|
5|791208|6
939|135642|040
7175|------|6828
input:54 (Maximum input for start=1)
3|913420|4
13|357864|42
915|791208|620
7939|135642|0408
57175|------|68286
C'est le code-golf donc le code le plus court gagne.
|024531|
à- dire pour ) ou uniquement l'entrée?Réponses:
JavaScript (Node.js) ,
145143 octetsUn modèle codé en dur (voir ici pour plus de mathématiques).
1 indexé.
Essayez-le en ligne!
Sauvegardé 2 octets grâce à @tsh
la source
/[^\s|-]/
->/[0-z]/
JavaScript (ES6),
144 ... 139137 octetsUne approche mathématique (voir ici pour moins de maths).
0 indexé.
Essayez-le en ligne!
Comment?
Nous définissons:
En écrivant les valeurs complètes plutôt que seulement les chiffres des unités, nous obtenons le tableau suivant:
Ce tableau est essentiellement symétrique sur l'axe des y, sauf que les valeurs du côté gauche sont paires et les valeurs du côté droit sont leurs homologues impaires.
Nous définissons:
Et pour chaque cellule, nous ajoutons:
Commenté
la source
Python 2 , 170 octets
Essayez-le en ligne!
la source
Java 10, 168 octets
Port de la réponse JavaScript de @Arnauld (donc également indexé 1, et sortie
-
en bas). Si vous aimez cette réponse, assurez-vous de lui aussi voter positivement!Essayez-le en ligne.
Explication:
la source
6502 code machine (C64), 130 octets
Cela utilise une version modifiée de l'approche "préformatée" de certaines autres réponses. Il contient une chaîne complète du compartiment, mais les chiffres sont remplacés par des valeurs à partir de
0xC1
, tandis que tous les caractères pour l'impression directe sont dans la plage0x01
-0x7f
.Le jeu de caractères C64 n'inclut pas de caractère pipe (
|
), il est donc remplacé par le caractère PETSCII similaire0x7d
.Démo en ligne
Utilisation:
SYS49152,[n]
(1 indexé, par exempleSYS49152,54
pour la sortie complète)Démontage commenté :
la source
Fusain , 64 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
Saisissez le numéro.
Dessinez la moitié du seau, puis mettez-la en miroir pour terminer le seau.
Boucle pour chaque côté du seau.
Réfléchissez le seau afin que nous puissions dessiner dans une direction cohérente sur les deux boucles et sauter à la position du premier chiffre de ce côté du seau.
Faites une boucle sur le nombre de chiffres de ce côté du seau.
Imprimez le chiffre suivant et déplacez le curseur vers le haut et vers la gauche.
Ajustez la position du curseur en lisant les décalages de deux chaînes compressées
003003003005203004000500
(décalages horizontaux) et11011011011510200300040000
(décalages verticaux). Ces décalages tiennent compte du mouvement du curseur ci-dessus, ce qui signifie qu'ils ne doivent jamais être négatifs.la source