Introdução
A Curva do Dragão é uma curva fractal que aparece notavelmente nas páginas de título da seção do romance Jurassic Park.
Pode ser simplesmente descrito como um processo de dobrar uma tira de papel, conforme explicado no artigo da Wikipedia sobre essa curva.
As primeiras iterações da geração dessa curva se parecem com isso (créditos para Wikipedia para a imagem):
O desafio
Escreva um programa ou função que, dado um número n como entrada, produza a n-ésima iteração da curva do dragão como arte ASCII, usando apenas os símbolos _
e|
- Você precisa exibir a figura usando apenas
|
,_
e espaços. Você não pode exibir a curva como um gráfico ou qualquer outra coisa. - Você pode considerar a entrada como argumento do programa, no STDIN ou como parâmetro de função.
- As entradas sempre serão um número inteiro> = 0. Seu programa deve trabalhar com valores razoáveis de entradas, 12 sendo o mais alto nos casos de teste oferecidos.
As primeiras iterações devem ficar assim
A iteração 0 é
_
A iteração 1 é
_|
A iteração 2 é
|_ _|
Uma linha final no final está ok. Não são permitidos espaços finais, além de preencher a linha com o caractere mais à direita na curva
Sem brechas padrão abusam como de costume
Casos de teste
- Entrada
0
Saída
_
- Entrada
3
Saída
_
|_| |_
_|
- Entrada
5
Saída
_ _
|_|_| |_
_ _| _|
|_|_|_
|_|_|
|_
_|
|_|
- Entrada
10
Saída
_ _
_|_| _|_|
|_|_ _|_|_ _
_|_|_| |_| |_|_|
_ |_|_|_ |_
_|_| _| |_| _|
|_|_ _|_ |_|
_|_|_|_|_|_
|_| |_|_|_|_|_
_|_|_| |_|
|_| |_
_|_ _ _ _ _ _ _
_ |_|_|_|_|_|_|_ |_|_|_|_ |_|_|_|_
_|_| _|_|_|_|_| |_| _ _|_| |_| _ _|_| |_|
|_|_ _|_|_|_|_|_ |_|_|_|_ |_|_|_|_
_|_|_|_|_|_|_|_|_|_ _ _|_|_|_|_ _ _|_|_|_|_ _ _
|_| |_|_|_| |_|_|_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_
_|_| _|_| _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|
|_| |_| |_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_
_|_|_|_|_|_|_|_|_|_|_| |_| |_|_|_|_
_ |_|_|_|_|_|_|_|_|_|_|_ |_|_|_|_
_|_| _|_|_|_|_|_|_|_|_| |_| _ _|_| |_|
|_|_ _|_|_|_|_|_|_|_|_|_ |_|_|_|_
_|_|_|_|_|_|_|_|_|_|_|_|_|_ |_| |_|
|_| |_|_|_| |_|_|_| |_|_|_|_|_
_|_| _|_| _|_|_| |_|
|_| |_| |_| |_
_|_ _ _
_ |_|_|_|_|_|_|_
_|_| _|_|_|_|_| |_|
|_|_ _|_|_|_|_|_
_|_|_|_|_|_|_|_|_|_ _ _
|_| |_|_|_|_|_|_|_|_|_|_|_|_|_
_|_|_|_|_|_|_|_|_|_|_| |_|
|_| |_|_|_|_|_|_|_|_|_
_ _ _|_|_| |_| |_|_|_|_
|_|_| |_ _ |_|_|_ |_|_|_|_
_ _| _| _|_| _| |_| _ _|_| |_|
|_|_|_ |_|_ _|_ |_|_|_|_
|_|_| _|_|_|_|_|_ |_| |_|
|_ _ _ |_|_|_|_|_|_|_
_ _|_|_| _|_| _|_|_|_|_| |_|
|_|_|_|_|_ _|_|_ _|_|_|_|_|_
|_| |_| |_|_|_|_|_| |_| |_|_|_|_
|_|_|_|_ |_|_|_|_
_ _|_| |_| _ _|_| |_|
|_|_|_|_ |_|_|_|_
|_| |_| |_| |_|
- Entrada
12
Saída
_ _ _ _ _ _ _ _
|_|_|_|_ |_|_|_|_ |_|_|_|_ |_|_|_|_
_ _|_| |_| _ _|_| |_| _ _|_| |_| _ _|_| |_|
|_|_|_|_ |_|_|_|_ |_|_|_|_ |_|_|_|_
|_|_|_|_ _ _|_|_|_|_ _ _ |_|_|_|_ _ _|_|_|_|_ _ _
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_
_ _|_|_|_|_|_|_|_|_|_|_|_|_|_| |_| _ _|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_
_ _ |_|_|_|_|_|_|_|_|_| |_| |_|_|_|_ _ _ |_|_|_|_|_|_|_|_|_| |_| |_|_|_|_
|_|_|_|_ |_|_|_|_|_|_|_|_ |_|_|_|_ |_|_|_|_ |_|_|_|_|_|_|_|_ |_|_|_|_
_ _|_| |_| _ _|_|_|_|_|_| |_| _ _|_| |_| _ _|_| |_| _ _|_|_|_|_|_| |_| _ _|_| |_|
|_|_|_|_ |_|_|_|_|_|_|_|_ |_|_|_|_ |_|_|_|_ |_|_|_|_|_|_|_|_ |_|_|_|_
|_|_|_|_ _ _|_|_|_|_|_|_|_|_ |_| |_| |_|_|_|_ _ _|_|_|_|_|_|_|_|_ |_| |_|
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_
_ _|_|_|_|_|_|_|_|_|_|_|_|_|_| |_| _ _|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_
|_| |_| |_|_|_|_|_|_|_|_|_|_|_|_ _ _ _ _ |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ _ _ _ _ _ _
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ |_|_|_|_ |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ |_|_|_|_ |_|_|_|_
_ _|_|_|_|_|_|_|_|_|_|_|_|_|_| |_| _ _|_| |_| _ _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_| _ _|_| |_| _ _|_| |_|
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ |_|_|_|_ |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ |_|_|_|_ |_|_|_|_
|_| |_| |_|_|_|_|_|_|_|_|_|_|_|_ _ _|_|_|_|_ _ _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ _ _|_|_|_|_ _ _|_|_|_|_ _ _
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|_|_| |_|_|_|_|_|_|_|_|_|_|_| |_|_|_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_
_ _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| _|_| _|_|_|_|_|_|_|_|_|_| _|_| _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ |_| |_| |_|_|_|_|_|_|_|_ |_| |_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_
_ _ |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| _|_|_|_|_|_|_|_| _|_|_|_|_|_|_|_|_|_|_| |_| |_|_|_|_
|_|_|_|_ |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|_ _ |_|_|_|_|_| |_|_ _ |_|_|_|_|_|_|_|_|_|_|_ |_|_|_|_
_ _|_| |_| _ _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| _|_| _|_| _|_|_|_| _|_| _|_| _|_|_|_|_|_|_|_|_| |_| _ _|_| |_|
|_|_|_|_ |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ |_| |_|_ _|_|_|_|_ |_| |_|_ _|_|_|_|_|_|_|_|_|_ |_|_|_|_
|_|_|_|_ _ _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| _|_|_|_|_|_|_|_| _|_|_|_|_|_|_|_|_|_|_|_|_|_ |_| |_|
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ _ |_| |_|_|_| |_|_ |_| |_|_|_| |_|_|_| |_|_|_|_|_
_ _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| _|_| _|_| _|_| _|_| _|_|_| |_|
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ _ |_| |_| |_| |_| |_| |_
|_| |_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| _|_ _ _
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|_ _ |_|_|_|_|_|_|_
_ _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| _|_| _|_| _|_|_|_|_| |_|
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ |_| |_|_ _|_|_|_|_|_
|_| |_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| _|_|_|_|_|_|_|_|_|_ _ _
_ _ |_|_|_|_|_|_| |_|_|_| |_|_|_|_|_|_ _ |_| |_|_|_|_|_|_|_|_|_|_|_|_|_
_|_| _|_| _ _|_|_|_|_| _|_| _|_|_|_|_|_|_|_| _|_|_|_|_|_|_|_|_|_|_| |_|
|_|_ _|_|_ _ |_|_|_|_|_|_|_ |_| |_| |_|_|_|_|_|_ _ |_| |_|_|_|_|_|_|_|_|_
_|_|_| |_| |_|_| _ _ |_|_|_|_|_|_| _|_|_|_|_|_|_|_| _ _ _|_|_| |_| |_|_|_|_
_ |_|_|_ |_ |_|_|_|_ |_|_| |_|_ _ |_|_|_|_|_| |_|_ |_|_| |_ _ |_|_|_ |_|_|_|_
_|_| _| |_| _| _ _|_| |_| _ _| _|_| _|_| _|_|_|_| _|_| _ _| _| _|_| _| |_| _ _|_| |_|
|_|_ _|_ |_| |_|_|_|_ |_|_|_ |_| |_|_ _|_|_|_|_ |_| |_|_|_ |_|_ _|_ |_|_|_|_
_|_|_|_|_|_ |_|_|_|_ _ _|_|_| _|_|_|_|_|_|_|_| |_|_| _|_|_|_|_|_ |_| |_|
|_| |_|_|_|_|_ |_|_|_|_|_|_|_|_|_ _ |_| |_|_|_| |_|_ |_ _ _ |_|_|_|_|_|_|_
_|_|_| |_| _ _|_|_|_|_|_|_|_|_|_|_| _|_| _|_| _ _|_|_| _|_| _|_|_|_|_| |_|
|_| |_ |_|_|_|_|_|_|_|_|_|_|_|_|_ _ |_| |_| |_|_|_|_|_ _|_|_ _|_|_|_|_|_
_|_ _ _ _ _ |_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_| |_| |_|_|_|_|_| |_| |_|_|_|_
_ |_|_|_|_|_|_|_ |_|_|_|_ |_|_|_|_|_|_|_|_|_|_| |_|_ |_|_|_|_ |_|_|_|_
_|_| _|_|_|_|_| |_| _ _|_| |_| _ _|_|_|_|_|_|_|_|_| _|_| _ _|_| |_| _ _|_| |_|
|_|_ _|_|_|_|_|_ |_|_|_|_ |_|_|_|_|_|_|_|_|_|_|_ |_| |_|_|_|_ |_|_|_|_
_|_|_|_|_|_|_|_|_|_ _ _|_|_|_|_ _ _|_|_|_|_|_|_|_|_|_|_| |_| |_| |_| |_|
|_| |_|_|_| |_|_|_| |_|_|_|_|_|_|_|_|_|_|_| |_|_|_| |_|_|_|_|_|_ _
_|_| _|_| _|_|_|_|_|_|_|_|_|_| _|_| _|_|_|_|_|_|_|_|
|_| |_| |_| |_|_|_|_|_|_|_|_ |_| |_| |_|_|_|_|_|_ _
_|_|_|_|_|_|_|_| _|_|_|_|_|_|_|_|
_ |_|_|_|_|_| |_|_ _ |_|_|_|_|_| |_|_
_|_| _|_|_|_| _|_| _|_| _|_|_|_| _|_|
|_|_ _|_|_|_|_ |_| |_|_ _|_|_|_|_ |_|
_|_|_|_|_|_|_|_| _|_|_|_|_|_|_|_|
|_| |_|_|_| |_|_ |_| |_|_|_| |_|_
_|_| _|_| _|_| _|_|
|_| |_| |_| |_|
Pontuação
Isso é código-golfe , então o programa mais curto em bytes vence.