Questa è la versione ASCII di questa sfida . Il post iniziale è stato separato per richiesta da Martin Ender
introduzione
Simile alla sequenza di Fibonacci, la sequenza di Padovan ( OEIS A000931 ) è una sequenza di numeri che viene prodotta aggiungendo termini precedenti nella sequenza. I valori iniziali sono definiti come:
P(0) = P(1) = P(2) = 1
I termini 0, 1 e 2 sono tutti 1. La relazione di ricorrenza è indicata di seguito:
P(n) = P(n - 2) + P(n - 3)
Pertanto, produce la seguente sequenza:
1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200, 265, 351, ...
L'uso di questi numeri come lunghezze laterali dei triangoli equilateri produce una bella spirale quando li metti tutti insieme, proprio come la spirale di Fibonacci:
Immagine gentilmente concessa da Wikipedia
Compito
Il tuo compito è quello di scrivere un programma che ricrea questa spirale con l'arte ASCII, con input corrispondente a quale termine. Poiché un triangolo di lunghezza laterale 1 (1 carattere) è impossibile da rappresentare bene in ASCII, le lunghezze laterali sono state dilatate di un fattore 2. Pertanto, il triangolo di lunghezza laterale 1 è effettivamente rappresentato in questo modo:
/\
/__\
Quindi, ad esempio, se l'input era 5 (il 5 ° termine), l'output dovrebbe essere:
/\
/ \
/ \
/______\
\ /\
\ /__\
\ /\ /
\/__\/
I primi 5 termini erano 1, 1, 1, 2, 2, quindi il triangolo aveva lunghezze laterali 2, 2, 2, 4, 4 a causa della dilatazione. Un altro esempio per l'ingresso 8:
__________
/\ /\
/ \ / \
/ \ / \
/______\ / \
\ /\ / \
\ /__\/ \
\ /\ / \
\/__\/______________\
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\/
Regole
- È necessario stampare il risultato e l'input deve essere un numero intero corrispondente al numero del termine
- Sono consentiti il trascinamento e le nuove linee principali, anche gli spazi finali dopo le linee
- La tua richiesta deve essere in grado di gestire almeno fino al decimo termine (9)
- L'invio deve essere un programma completo o una funzione che accetta input e stampa il risultato
- Sono consentite rotazioni dell'output, in multipli di 60 gradi, ma la dimensione dei triangoli deve rimanere la stessa, insieme alla rappresentazione
- È consentito anche andare in senso antiorario
- Sono vietate le scappatoie standard
Si può presumere che l'input sarà> 0 e che verrà fornito il formato corretto dell'input.
punteggio
Questo è code-golf , quindi vince il codice più breve in byte. Buon anno a tutti!
