Hintergrundgeschichte
Haftungsausschluss: Kann erfundene Informationen über Kängurus enthalten.
Kängurus durchlaufen mehrere Entwicklungsstufen. Je älter und stärker sie werden, desto höher und länger können sie springen, und desto öfter können sie springen, bevor sie hungrig werden.
In Stufe 1 ist das Känguru sehr klein und kann überhaupt nicht springen. Trotzdem bedarf es ständig der Ernährung. Wir können das Aktivitätsmuster eines Kängurus der Stufe 1 so darstellen.
o
In Stufe 2 kann das Känguru kleine Sprünge machen, aber nicht mehr als 2, bevor es hungrig wird. Wir können das Aktivitätsmuster eines Kängurus der Stufe 2 so darstellen.
o o
o o o
Nach Stufe 2 bessert sich das Känguru schnell. In jeder weiteren Phase kann das Känguru etwas höher (1 Einheit in der grafischen Darstellung) und doppelt so oft springen. Das Aktivitätsmuster eines Kängurus der Stufe 3 sieht beispielsweise so aus.
o o o o
o o o o o o o o
o o o o o
Für die Stufe n besteht das Aktivitätsmuster aus 2 n-1 V-förmigen Sprüngen der Höhe n .
Beispielsweise für die Stufe 4 gibt es 8 springt von der Höhe 4 .
o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o
Aufgabe
Schreiben Sie ein vollständiges Programm oder eine Funktion, die eine positive ganze Zahl n als Eingabe verwendet und die ASCII- Grafikdarstellung des Aktivitätsmusters eines Kängurus der Stufe n ausgibt oder zurückgibt .
Es sind umgebende Whitespace- und ANSI-Escape-Codes zulässig, sofern das Muster genau wie oben dargestellt aussieht.
Wenn Sie eine Funktion auswählen, die die Ausgabe zurückgibt, muss sie eine einzelne Zeichenfolge oder ein einzelnes Zeichenarray zurückgeben, das beim Drucken die richtige Ausgabe anzeigt. Das Zurückgeben eines Arrays von Zeichenfolgen ist nicht zulässig.
Sie können statt eines beliebigen druckbaren Nicht-Leerzeichens ein beliebiges Zeichen verwenden o
, sofern es innerhalb des Aktivitätsmusters und über alle Muster in Ihrer Antwort hinweg konsistent ist.
Das ist Code-Golf ; möge die kürzeste Antwort in Bytes gewinnen!
o
. Können Sie auch ein beliebiges Zeichen verwenden, um die Leerzeichen darzustellen (sofern sie unterschiedlich sind?)?