Contexte
Quand j'étais plus jeune, on m'a enseigné une méthode pour dessiner une étrange forme de "S", que j'ai (avec mes camarades de classe) trouvé fascinante. Aujourd'hui, je l'ai redécouvert, et en raison de son approche formelle pour le dessiner, j'ai pensé que cela pourrait conduire à un défi intéressant: P
Dessiner le "S"
Le S peut être dessiné en suivant ces étapes simples:
Tout d'abord, dessinez 2 rangées de trois lignes verticales comme ceci
| | |
| | |
Ensuite, connectez la ligne en haut à gauche avec la ligne du milieu en bas et le milieu en haut avec la ligne en bas à droite pour produire
| | |
\ \
| | |
Enfin, dessinez un haut et un bas sur l'image actuellement dessinée afin qu'elle finisse par ressembler à
^
/ \
| | |
\ \
| | |
\ /
v
Comme vous pouvez le voir, cela se traduit par une forme en "S". Cependant, lorsqu'il est étendu (en le dessinant avec plus de 2 lignes), il produit un motif très intéressant. Votre tâche est de reproduire ce modèle intéressant.
Tâche
Étant donné un entier où n >= 2
, sortez le S avec des n
lignes à en faire. La sortie peut être renvoyée par une fonction et l'entrée peut être prise selon des méthodes standard. Les espaces de fin / de début pour l'image globale, ainsi que pour chaque ligne, conviennent parfaitement. Cependant, les espaces de ligne de tête doivent être cohérents afin que le «ne soit pas rompu.
Cas de test
input
output
---
2
^
/ \
| | |
\ \
| | |
\ /
v
---
8
^
/ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ /
v
---
10
^
/ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ /
v
C'est un code-golf donc le code le plus court gagne! Bonne chance,
S
le froid S , et appelle une version infinie du unS Chain