Escreva um programa ou função que desenhe uma árvore de árvores, construindo assim uma floresta.
As árvores são desenhadas como empilhar uma pirâmide. A primeira linha (superior) contém 1
árvore, a próxima linha contém 2
(para um total de 3
), a próxima contém 3
(para um total de 6
) e assim por diante. Se não houver árvores suficientes para completar uma linha completa, preencha-a à esquerda e deixe as manchas à direita vazias. Além disso, as árvores de nível inferior se sobrepõem levemente às árvores de nível superior devido à sua localização.
Esta é uma floresta de tamanho 1
/\
//\\
///\\\
||
||
Esta é uma floresta de tamanho 2
/\
//\\
/\///\\\
//\\ ||
///\\\||
||
||
Esta é uma floresta de tamanho 3
/\
//\\
/\///\\\/\
//\\ || //\\
///\\\||///\\\
|| ||
|| ||
Esta é uma floresta de tamanho 4
/\
//\\
/\///\\\/\
//\\ || //\\
/\///\\\||///\\\
//\\ || ||
///\\\|| ||
||
||
Esta é uma floresta de tamanho 5
(observe que o topo da quinta árvore está cobrindo o tronco da primeira árvore)
/\
//\\
/\///\\\/\
//\\ || //\\
/\///\\\/\///\\\
//\\ || //\\ ||
///\\\||///\\\||
|| ||
|| ||
(pule algumas)
Esta é uma floresta de tamanho 8
(estendendo o padrão)
/\
//\\
/\///\\\/\
//\\ || //\\
/\///\\\/\///\\\/\
//\\ || //\\ || //\\
/\///\\\/\///\\\||///\\\
//\\ || //\\ || ||
///\\\||///\\\|| ||
|| ||
|| ||
e assim por diante.
Entrada
Um número inteiro positivo único em qualquer formato conveniente , n > 0
.
Saída
Uma representação da floresta em arte ASCII, seguindo as regras acima. Novas linhas à esquerda / à direita ou outro espaço em branco são opcionais, desde que todas as árvores se alinhem adequadamente.
Regras
- Um programa completo ou uma função são aceitáveis. Se uma função, você pode retornar a saída em vez de imprimi-la.
- As brechas padrão são proibidas.
- Isso é código-golfe, portanto todas as regras usuais de golfe se aplicam e o código mais curto (em bytes) vence.
n
quais são as posições das árvores?