Défi
Étant donné une entrée n
, imprimez un gâteau d'art ASCII en n
couches hautes, vu de côté, avec deux bougies sur le dessus. Reportez-vous aux exemples ci-dessous pour plus de détails.
Production
>> cake(1)
_|_|_
| |
+-----+
>> cake(3)
_|_|_
| |
+---------+
| |
+-------------+
| |
+-------------+
...etc.
Règles
- Failles standard interdites
- Veuillez essayer une solution intelligente
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte. Cependant, la réponse ne sera pas sélectionnée.
S'amuser!
code-golf
ascii-art
kolmogorov-complexity
dkudriavtsev
la source
la source
i=int(input())
int(input())
àinput()
et à l'print
instruction, plus vous pouvez changer les quatre espaces en un (si c'est un onglet, changez-le en un espace pour rendre plus évident qu'il s'agit d'un seul caractère) . De plus, votre bytecount est 4 trop élevé pour une raison quelconque.Rubis,
109107 octetsla source
Lot, 233 octets
Plus court que Python? Quelque chose ne va pas ...
la source
JavaScript (ES6), 134 octets
Un gâteau récursif.
Démo
la source
Haskell, 103 octets
Définit une fonction
g
qui renvoie une liste de chaînes contenant les lignes de la sortiela source
05AB1E,
115, 101 caractères14 caractères sauvés grâce à Adnan!
Certainement un peu de place pour jouer au golf ici.
Essayez-le en ligne!
Notez que cela imprime tout décalé d'un espace.
la source
×
commande. Ceci est un exemple sur la façon dont il est utilisé.Python 2, 122 octets
la source
Python 3, 162 caractères
Ce n'est pas très intelligent, mais je n'en ai jamais fait auparavant. (Édition: suppression des parenthèses inutiles; réduction d'un caractère de plus)
la source
Pyth, 73 octets
Un programme qui prend l'entrée d'un entier sur STDIN et imprime le résultat.
Il y a probablement encore du golf à faire ici.
Essayez-le en ligne
Explication à venir plus tard
la source
JavaScript (ES6), 171 octets
Premier passage, probablement pas optimal ...
la source
PHP,
150147138136130140 140 octetsnouvelle approche:
ancienne version pour référence:
la source
$argv
. : - /Vimscript,
116115 octetsAssez salissant mais ça marche!
Pour l'appeler:
call A(3)
dans un vide tampon . Pour charger la fonction,source cake.vim
Explication
2i+<Esc>5i-<Esc>
écrit la première ligne+-----+
o||<Esc>5i<Space><Esc>
ajoute| |
sur la deuxième ligneVkyjply4lpjy4hp
est enregistré dans la macro@z
- il sélectionne visuellement les deux lignes, les tire, les colle sous et leur ajoute 4 tirets et des espaces.#@z
répète cette#
foisddl4x
supprime les dernières lignes et supprime les tirets au bas du gâteau pour le rendre égal au haut de la couche inférieureggd$i_|_|_
remplace la première ligne par le haut du gâteau%ce
puis centre le gâteau entier sur la largeur de la couche inférieure! !la source
SOGL V0.12 ,
2726 octetsEssayez-le ici!
Explication:
la source
Excel VBA,
139130127 octetsFenêtre immédiate VBE anonyme qui prend l'entrée de la cellule
A1
et sort un gâteau dans la fenêtre immédiate VBEla source
CJam, 79 octets
Essayez-le en ligne
la source
QBasic, 115 octets
Non golfé
Imprimez la ligne supérieure avec les bougies; puis imprimez le reste du gâteau deux lignes à la fois.
SPC
, lorsqu'il est utilisé dans unePRINT
instruction, émet le nombre donné d'espaces. De manière pratique, lorsqu'il reçoit un argument négatif, il le traite comme 0, donc le fait qu'il seindent - 2
trouve-2
dans la dernière itération n'est pas un problème.STRING$
prend un compte et un code de caractère (ici, 45 pour-
) et répète le caractère autant de fois. Ici, nous devons cas particulier que la dernière ligne (quandi=n
) soit 4 traits d'union plus courte qu'elle ne le serait autrement.la source
C (gcc) ,
158octets-5 octets grâce au plafond.
Essayez-le en ligne!
la source