Scrivi una funzione o un programma con nome che accetta un singolo intero N e stampa (su STDOUT) o restituisce (come stringa) le prime N barre della spirale sottostante, iniziando con la barra verticale al centro e spirale in senso orario verso l'esterno.
_______________
/ _____________ \
/ / ___________ \ \
/ / / _________ \ \ \
/ / / / _______ \ \ \ \
/ / / / / _____ \ \ \ \ \
/ / / / / / ___ \ \ \ \ \ \
/ / / / / / / _ \ \ \ \ \ \ \
/ / / / / / / / \ \ \ \ \ \ \ \
| | | | | | | | | | | | | | | |
\ \ \ \ \ \ \___/ / / / / / / /
\ \ \ \ \ \_____/ / / / / / /
\ \ \ \ \_______/ / / / / /
\ \ \ \_________/ / / / /
\ \ \___________/ / / /
\ \_____________/ / /
\_______________/ /
Puoi supporre che 0 <N <= 278. Il tuo output non può contenere spazi bianchi davanti al carattere più a sinistra della spirale. Se lo si desidera, è possibile stampare una nuova riga finale.
Per un input di 10, l'output corretto è
_
/ \
| |
\___/
Per un input di 2, l'output corretto è
/
|
Per un input di 20, l'output corretto è
___
/ _ \
/ / \ \
| | | |
\___/ /
Un output che sarebbe errato perché lo spazio bianco è preceduto dal carattere più a sinistra
___
/ _ \
/ / \ \
| | | |
\___/ /
Il vincitore è l'invio più breve, in byte.
|) sono semplicemente il carattere più vicino che può rappresentare l'incontro di un /e \.