Escreva uma função ou programa nomeado que aceite um único inteiro N e imprima (para STDOUT) ou retorne (como uma sequência) as primeiras N barras da espiral abaixo, começando com a barra vertical no centro e espiralando no sentido horário para fora.
_______________
/ _____________ \
/ / ___________ \ \
/ / / _________ \ \ \
/ / / / _______ \ \ \ \
/ / / / / _____ \ \ \ \ \
/ / / / / / ___ \ \ \ \ \ \
/ / / / / / / _ \ \ \ \ \ \ \
/ / / / / / / / \ \ \ \ \ \ \ \
| | | | | | | | | | | | | | | |
\ \ \ \ \ \ \___/ / / / / / / /
\ \ \ \ \ \_____/ / / / / / /
\ \ \ \ \_______/ / / / / /
\ \ \ \_________/ / / / /
\ \ \___________/ / / /
\ \_____________/ / /
\_______________/ /
Você pode assumir que 0 <N <= 278. Sua saída não pode conter nenhum espaço em branco na frente do caractere mais à esquerda da espiral. Opcionalmente, você pode imprimir uma única nova linha à direita.
Para uma entrada de 10, a saída correta é
_
/ \
| |
\___/
Para uma entrada 2, a saída correta é
/
|
Para uma entrada de 20, a saída correta é
___
/ _ \
/ / \ \
| | | |
\___/ /
Uma saída que estaria incorreta porque o caractere mais à esquerda é precedido por espaço em branco é
___
/ _ \
/ / \ \
| | | |
\___/ /
O vencedor é o envio mais curto, em bytes.
|
) são apenas o caractere mais próximo que pode representar a reunião de a /
e \
.