Inspiré par Affichez une chaîne de petites montagnes avec un nombre impair sur le dessus! par @sygmei .
Pourquoi avoir une chaîne de montagnes alors que vous pouvez en avoir une énorme?
Créez un programme qui prend un numéro d'entrée et imprime une montagne avec chaque nombre impair jusqu'au numéro d'entrée.
(Où «sud-ouest» signifie directly below and to the left
et «sud-est» signifie directly below and to the right
)
Chaque numéro aura un /
sud-ouest et un \
sud-est. Il part du 1
haut et le numéro suivant ira au sud-ouest de a /
ou au sud-est de a \
. Le numéro suivant ira dans la ligne la plus proche du haut et la plus à gauche possible.
Pour un nombre à plusieurs chiffres, seul le 1er chiffre doit être au bon endroit avec les autres chiffres directement après, et seul le premier chiffre doit avoir \
et /
sortir de celui-ci.
La montagne jusqu'à 1 ou 2 est juste:
1
/ \
Une montagne jusqu'à 3 ou 4, c'est juste:
1
/ \
3
/ \
Pour 25 ou 26:
1
/ \
3 5
/ \ / \
7 9 11
/ \ / \ / \
13 15 17 19
/ \ / \ / \ / \
21 23 25
/ \ / \ / \
Deux dernières lignes où l'entrée est 121:
111 113 115 117 119 121
/ \ / \ / \ / \ / \ / \
Et les deux dernières lignes où l'entrée est 1019:
993 995 997 999 1001100310051007100910111013101510171019
/ \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \
Vous pouvez supposer que l'entrée sera supérieure à 0 et inférieure à 10001 (exclusif).
Les espaces de fin sont OK, et les espaces de tête supplémentaires sont corrects tant qu'il y a le même sur toutes les lignes.
Il s'agit de code-golf , donc le programme le plus court en octets l'emporte.
Une réponse non gérée à cela peut être trouvée en ligne ici (en Python sur repl.it) si vous avez besoin de plus de cas de test.
Réponses:
05AB1E ,
54524746 octetsEssayez-le en ligne!
Explication
J'aurais pu économiser 5 octets avec
ÅɹL£D€g__ÏRv"/ \ "yg×N·©úˆy4jJðÛ®>úˆ}¯R»
seulement si j'avais poussé ce correctif pour j j'ai écrit il y a plusieurs semaines : /la source
Lot, 335 octets
la source
cmd /Q /C file.bat
compte 3 octets supplémentaires, mais c'est toujours mieux que@echo off
. Vous devez le poster à la question des conseils de lot.Python 2,
160149143 octetsMerci TFeld pour avoir économisé 11 octets et Artyer pour avoir économisé 6 octets
la source
i=len(y)
etfor l in y:print' '*i+l;i-=1
au lieu defor i,l in enumerate(y):print(len(y)-i-1)*' '+l
-10 octets\\
de\
car il est avant tout un espacewhile y:print' '*-~len(y)+y.pop(0)
. Il enregistre 3 octets.%-4d
laisser le justifier par 4.Perl, 134
133 octets + 1 pour l'
-p
optionVersion formatée (la version golfée originale utilise de vraies "nouvelles lignes" au lieu de \ n)
la source
Bash, 425 octets
Formaté:
la source