Votre mission aujourd'hui est de créer un vortex avec un seul paramètre.
Ce paramètre détermine la longueur de chaque bras en caractères.
Chaque "couche" de chaque bras contient un caractère de plus que le dernier.
Voici à quoi ressemblera le vortex, compte tenu de la longueur du bras:
0:
#
1:
#
###
#
2:
#
# #
###
# #
#
3:
## #
# #
###
# #
# ##
4:
# #
## #
# #
###
# #
# ##
# #
10:
#
#
#
#
#
#### #
### #
## #
# #
###
# #
# ##
# ###
# ####
#
#
#
#
#
Les failles standard s'appliquent, les espaces à la fin facultatifs, tout caractère non blanc en ASCII peut remplacer "#".
Il s'agit de code-golf donc la réponse la plus courte en octets l'emporte.
Réponses:
MATL , 60 octets
Essayez-le en ligne! Ou vérifiez les cas de test: 0 , 1 , 2 , 3 , 4 , 10 .
Cela s'est avéré plus drôle que ce à quoi je m'attendais. Expliquer va être plus difficile, cependant ...
la source
Gelée , 48 octets
Essayez-le en ligne!
(Rendez le tout plus carré en remplaçant la finale
Y
parG
, en ajoutant un espace entre chaque colonne).Comment?
Construit une liste de
#
coordonnées d'un bras par rapport au centre. Transforme cela aux coordonnées des quatre bras à partir du coin supérieur gauche et ajoute la coordonnée centrale. Construit un tableau de toutes les coordonnées dans l'espace et définit les bras#
et l'espace suret joint les lignes avec des retours à la ligne.
la source
Mathematica
139172 octetsL'idée est de créer un seul bras avec une fonction -
{⌊.5+.5(-7+8#)^.5⌋,#-1}
qui crache l'index de chaque élément du bras en supposant que l'élément du milieu a un index (0,0). Personne n'a encore compris cela, mais je pense que cette idée entraînerait une réponse gagnante dans une meilleure langue de golf. Ensuite, je fais pivoter le bras sur des multiples de 90 degrés, je ré-indexe et je construis la matrice.SparseArray
semblait être le choix évident pour construire la matrice, mais aurait pu aller avecBoxMatrix
etReplacePart
.Non golfé (codé en dur pour la longueur du bras = 3,
%
signifie la sortie précédente):Utilisation% @ 4
Comme j'ai appris que la sortie doit être pure ASCII sans espacement ni formatage supplémentaire, le code doit être un peu plus long (172 octets):
la source
Fusain , 30 octets
Explication
Essayez-le en ligne!
la source
Trim
semble fonctionner sur golfier:NθFθ⁺¶#×#ιJ⁰¦⁰Tθ⁺¹θ#⟲O↖²⁴⁶
(⁺¹
est une solution de contournement carT⁰¦⁰
ne fonctionne pas pour une raison quelconque. et⊕
n'existait pas à l'époque.)