Escreva um programa completo ou uma função que N
receba um número inteiro positivo como entrada via STDIN / linha de comando / ARGV ou argumentos de função e imprima um nó duplo ASCII correspondente N
ao STDOUT.
O nó duplo ASCII é assim:
__ __ __ __ __ __
/ \/ \/ \/ \/ \/ \
| /\/ /\/ /\/ /\/ /\/ /\ |
| \/ /\/ /\/ /\/ /\/ /\/ |
\ \/\ \/\ \/\ \/\ \/\ \/
/\ \/\ \/\ \/\ \/\ \/\ \
| /\/ /\/ /\/ /\/ /\/ /\ |
| \/ /\/ /\/ /\/ /\/ /\/ |
\__/\__/\__/\__/\__/\__/
O acima é para N = 6
Aqui estão mais alguns nós duplos para outros valores de N
:
Se N = 1
, o nó duplo de saída se parecer com:
__
/ \
| /\ |
| \/ |
\ \/
/\ \
| /\ |
| \/ |
\__/
Pois N = 2
, é
__ __
/ \/ \
| /\/ /\ |
| \/ /\/ |
\ \/\ \/
/\ \/\ \
| /\/ /\ |
| \/ /\/ |
\__/\__/
Pois N = 3
, é
__ __ __
/ \/ \/ \
| /\/ /\/ /\ |
| \/ /\/ /\/ |
\ \/\ \/\ \/
/\ \/\ \/\ \
| /\/ /\/ /\ |
| \/ /\/ /\/ |
\__/\__/\__/
e da mesma forma, o padrão continua e qualquer valor maior de N
.
Detalhes :
- A entrada é sempre um número inteiro positivo maior que
0
. - A nova linha à direita é opcional
- Não deve haver espaços à direita em cada linha ou espaços à direita suficientes para que o comprimento de cada linha seja
4*N + 2
. - Nunca deve haver espaço à esquerda que não faça parte do padrão especificado.
Isso é código-golfe , então o código mais curto em bytes vence.
Cabeçalho da série
Estou convertendo isso em uma série de desafios de arte ASCII e, assim, adicionando um quadro de líderes para a série (snippet de Martin). Para garantir que suas respostas sejam exibidas, inicie todas as respostas com um título, usando o seguinte modelo de remarcação:
# Language Name, N bytes
onde N é o tamanho do seu envio. Se você melhorar sua pontuação, poderá manter as pontuações antigas no título, identificando-as. Por exemplo:
# Ruby, <s>104</s> <s>101</s> 96 bytes