sfondo
Quando ero più giovane, mi hanno insegnato un metodo per disegnare una strana forma a "S", che io (insieme ai miei compagni di classe) ho trovato affascinante. Oggi l'ho riscoperto e, grazie al suo approccio formulaico al disegno, ho pensato che potesse portare a una sfida interessante: P
Disegnando la "S"
La S può essere disegnata seguendo questi semplici passaggi:
Innanzitutto, disegna 2 file di tre linee verticali in questo modo
| | |
| | |
Quindi, collega la linea in alto a sinistra con la linea centrale in basso e la parte centrale in alto con la linea in basso a destra per produrre
| | |
\ \
| | |
Infine, disegna una parte superiore e inferiore sull'immagine attualmente disegnata in modo che finisca per apparire
^
/ \
| | |
\ \
| | |
\ /
v
Come puoi vedere, questo si traduce in una forma a "S". Tuttavia, se esteso (disegnandolo con più di 2 righe), produce uno schema molto interessante. Il tuo compito è riprodurre questo modello interessante.
Compito
Dato un numero intero dove n >= 2
, l'output della S con le n
righe da cui ricavare. L'output può essere restituito da una funzione e l'input può essere preso in metodi standard. Lo spazio bianco finale / iniziale sia per l'immagine complessiva, sia per ogni riga, va bene. Tuttavia, gli spazi delle righe iniziali devono essere coerenti in modo che "non sia interrotto. È possibile generare un elenco di righe.
Casi test
input
output
---
2
^
/ \
| | |
\ \
| | |
\ /
v
---
8
^
/ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ /
v
---
10
^
/ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ /
v
Questo è un code-golf quindi vince il codice più corto! In bocca al lupo,
S
il fresco S e chiede una versione infinita di unS Chain