Esta é a versão ASCII deste desafio . A postagem inicial foi separada por solicitação por Martin Ender
Introdução
Semelhante à Sequência de Fibonacci, a Sequência Padovan ( OEIS A000931 ) é uma sequência de números produzida pela adição de termos anteriores na sequência. Os valores iniciais são definidos como:
P(0) = P(1) = P(2) = 1
Os 0º, 1º e 2º termos são todos 1. A relação de recorrência é declarada abaixo:
P(n) = P(n - 2) + P(n - 3)
Assim, produz a seguinte sequência:
1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200, 265, 351, ...
Usar esses números como comprimentos laterais de triângulos equilaterais produz uma espiral agradável quando você os junta, como a Espiral de Fibonacci:
Imagem cortesia da Wikipedia
Tarefa
Sua tarefa é escrever um programa que recria essa espiral pela arte ASCII, com entrada correspondente a qual termo. Como um triângulo de comprimento lateral 1 (1 caractere) é impossível de representar bem em ASCII, os comprimentos laterais foram dilatados por um fator de 2. Portanto, o triângulo de comprimento lateral 1 é realmente representado da seguinte forma:
/\
/__\
Portanto, por exemplo, se a entrada foi 5 (o quinto termo), a saída deve ser:
/\
/ \
/ \
/______\
\ /\
\ /__\
\ /\ /
\/__\/
Os 5 primeiros termos foram 1, 1, 1, 2, 2, então o triângulo tinha comprimentos laterais 2, 2, 2, 4, 4 devido à dilatação. Outro exemplo para a entrada 8:
__________
/\ /\
/ \ / \
/ \ / \
/______\ / \
\ /\ / \
\ /__\/ \
\ /\ / \
\/__\/______________\
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\/
Regras
- Você deve imprimir o resultado e a entrada deve ser um número inteiro correspondente ao número do termo
- Novas linhas à direita e à direita são permitidas, espaços à direita depois das linhas também
- Seu envio deve ser capaz de lidar com pelo menos até o 10º período (9)
- Seu envio deve ser um programa ou função completo que receba informações e imprima o resultado
- As rotações da saída são permitidas, em múltiplos de 60 graus, mas o tamanho dos triângulos deve permanecer o mesmo, junto com a representação
- Também é permitido ir no sentido anti-horário
- As brechas padrão são proibidas
Você pode assumir que a entrada será> 0 e que o formato correto da entrada será fornecido.
Pontuação
Isso é código-golfe , então o código mais curto em bytes vence. Feliz ano novo a todos!