Dies ist die ASCII-Version dieser Herausforderung . Der ursprüngliche Beitrag wurde auf Wunsch von Martin Ender getrennt
Einführung
Ähnlich wie die Fibonacci-Sequenz ist die Padovan-Sequenz ( OEIS A000931 ) eine Folge von Zahlen, die durch Hinzufügen vorheriger Terme in der Folge erzeugt wird. Die Anfangswerte sind definiert als:
P(0) = P(1) = P(2) = 1
Das 0., 1. und 2. Glied sind alle 1. Die Wiederholungsbeziehung ist unten angegeben:
P(n) = P(n - 2) + P(n - 3)
Somit ergibt sich folgende Reihenfolge:
1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200, 265, 351, ...
Wenn Sie diese Zahlen als Seitenlänge von gleichseitigen Dreiecken verwenden, erhalten Sie eine schöne Spirale, wenn Sie sie alle zusammen platzieren, ähnlich wie bei der Fibonacci-Spirale:
Bild mit freundlicher Genehmigung von Wikipedia
Aufgabe
Ihre Aufgabe ist es, ein Programm zu schreiben, das diese Spirale durch ASCII-Kunst nachbildet und dessen Eingabe dem jeweiligen Begriff entspricht. Da ein Dreieck mit der Seitenlänge 1 (1 Zeichen) in ASCII nicht gut darstellbar ist, wurden die Seitenlängen um den Faktor 2 erweitert. Das Dreieck mit der Seitenlänge 1 wird also tatsächlich folgendermaßen dargestellt:
/\
/__\
Wenn also zum Beispiel die Eingabe 5 war (das 5. Glied), sollte die Ausgabe sein:
/\
/ \
/ \
/______\
\ /\
\ /__\
\ /\ /
\/__\/
Die ersten 5 Terme waren 1, 1, 1, 2, 2, so dass das Dreieck aufgrund der Dilatation Seitenlängen von 2, 2, 2, 4, 4 aufwies. Ein weiteres Beispiel für Eingabe 8:
__________
/\ /\
/ \ / \
/ \ / \
/______\ / \
\ /\ / \
\ /__\/ \
\ /\ / \
\/__\/______________\
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\/
Regeln
- Sie müssen das Ergebnis drucken und die Eingabe muss eine Ganzzahl sein, die der Termnummer entspricht
- Nachgestellte und führende Zeilen sind zulässig, nachstehende Leerzeichen nach Zeilen sind ebenfalls zulässig
- Ihr Beitrag muss mindestens bis zur 10. Amtszeit bearbeitet werden können (9)
- Ihre Einreichung muss ein vollständiges Programm oder eine vollständige Funktion sein, die Eingaben entgegennimmt und das Ergebnis druckt
- Rotationen der Ausgabe sind in 60-Grad-Vielfachen zulässig, aber die Größe der Dreiecke muss zusammen mit der Darstellung gleich bleiben
- Es ist auch erlaubt, gegen den Uhrzeigersinn zu fahren
- Standardlücken sind verboten
Sie können davon ausgehen, dass die Eingabe> 0 ist und das richtige Eingabeformat angegeben wird.
Wertung
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes. Ein frohes neues Jahr euch allen!