Ihre Aufgabe: Eine Kochschneeflocke bis in die n-te Tiefe erzeugen. Sie müssen keine vollständige Kochschneeflocke herstellen, nur eine Seite des Startdreiecks. Wikipedia zu Koch Flakes: https://en.wikipedia.org/wiki/Koch_snowflake .
Regeln:
- Das Programm muss eine Seite der Kochschneeflocke bis zur n-ten Tiefe erzeugen.
- Die Ausgabe muss ASCII sein.
- Sie können die ganze Schneeflocke erzeugen; Dies ist nicht erforderlich.
- Es gelten die Standardregeln für Input / Output und Lücken.
- Leerzeichen spielen keine Rolle, solange sich alle Zeichen an der richtigen Stelle relativ zueinander befinden.
- Kürzester Code gewinnt!
Testfälle:
n = 0:
__
n = 1:
__/\__
n = 2:
__/\__
\ /
__/\__/ \__/\__
n = 3:
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__
Ich hoffe das macht Sinn. Beachten Sie, dass das Fraktal in jedem Testfall in drei Teile gleicher Länge unterteilt werden kann. Beachten Sie auch, dass die Breite jeder Schneeflocke das Dreifache der Breite der vorherigen Schneeflockengeneration beträgt.
__/\__
mit zwei Unterstreichungen verwendet, wodurch jede Iteration konsistent dreimal so groß war wie die vorherige. Die Verwendung von nur einer Unterstreichung scheint zu Widersprüchen zu führen, die in n = 3 sehr unangenehm werden. ZB haben die Außenteile die Breite 12, während das Mittelteil nur die Breite 10 hat, als Folge der /_
und _\
die zu eng sind. Und schon vorher haben Sie die _
doppelte Breite von /
und \
.
/_
und _\
sind der einzige wirklich fatale Teil - die Unterstriche müssen weg, weil sie in der gleichen Position wie das /
und sein müssen \
. Sobald dies erledigt ist, können sich die Dinge von n = 1 an um das Dreifache erweitern (aber n = 0 passt nicht.)