Schreiben Sie ein Programm oder eine Funktion, die einen Baum zeichnet und so einen Wald baut.
Die Bäume sind gezeichnet wie ein Pyramidenstapel. Die erste (obere) Zeile enthält einen 1
Baum, die nächste Zeile enthält 2
(insgesamt 3
), die nächste enthält 3
(insgesamt 6
) und so weiter. Wenn nicht genügend Bäume vorhanden sind, um eine ganze Reihe zu vervollständigen, füllen Sie sie links aus und lassen Sie die Felder rechts leer. Darüber hinaus überlappen Bäume der unteren Ebene Bäume der oberen Ebene aufgrund ihrer Platzierung geringfügig.
Dies ist ein Wald von Größe 1
/\
//\\
///\\\
||
||
Dies ist ein Wald von Größe 2
/\
//\\
/\///\\\
//\\ ||
///\\\||
||
||
Dies ist ein Wald von Größe 3
/\
//\\
/\///\\\/\
//\\ || //\\
///\\\||///\\\
|| ||
|| ||
Dies ist ein Wald von Größe 4
/\
//\\
/\///\\\/\
//\\ || //\\
/\///\\\||///\\\
//\\ || ||
///\\\|| ||
||
||
Dies ist ein Wald von Größe 5
(beachten Sie, dass die Spitze des fünften Baums den Stamm des ersten Baums bedeckt)
/\
//\\
/\///\\\/\
//\\ || //\\
/\///\\\/\///\\\
//\\ || //\\ ||
///\\\||///\\\||
|| ||
|| ||
(überspringe ein paar)
Dies ist ein Wald von Größe 8
(Erweiterung des Musters)
/\
//\\
/\///\\\/\
//\\ || //\\
/\///\\\/\///\\\/\
//\\ || //\\ || //\\
/\///\\\/\///\\\||///\\\
//\\ || //\\ || ||
///\\\||///\\\|| ||
|| ||
|| ||
und so weiter.
Eingang
Eine einzelne positive ganze Zahl in jedem geeigneten Format , n > 0
.
Ausgabe
Eine ASCII-artige Darstellung der Gesamtstruktur gemäß den obigen Regeln. Führende / nachfolgende Zeilenumbrüche oder andere Leerzeichen sind optional, vorausgesetzt, die Bäume sind alle richtig ausgerichtet.
Regeln
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
n
wie sind die Positionen der Bäume?Antworten:
Haskell 310 Bytes
Nennen Sie es
w 5
zum Beispiel mit.Hier der unkomprimierte Code:
quelle
JavaScript (ES6),
357297276 ByteBearbeiten: 21 Bytes dank @KritixiLithos gespeichert.
quelle
repeat
einen können Sieblah.repeat(val)
zublah[w="repeat"]
(val) wechseln und dann die nachfolgenden Vorkommen vonrepeat
zu ändern[w](val)
, um nur Bytes zu sparenrepeat
in derfor
Schleife ist und nicht läuftn=1
, aber ich konnte trotzdem 21 Bytes sparen.C ++ (unter Windows),
330312308304303 ByteRufen Sie an mit:
quelle
C (unter Windows):
297295294 ByteÄhnlich wie meine C ++ - Antwort, aber ich habe dies gepostet, weil es in C etwas kürzer ist.
quelle
#import
ist eine (veraltete) GCC-Erweiterung. Fit zum Golfen.<stdio.h>
und automatische Annehmen einer globalen Variablenint
oder einer Funktion, die zurückgegeben werden sollint
.Javascript
418377 BytesVielen Dank an @Kritixi Lithos für die Unterstützung beim Golfspielen bei 39 Byte
Probieren Sie es online
quelle
repeat
können Sie ändern ,blah.repeat(val)
aufblah[w="repeat"](val)
und dann können Sie die nachfolgenden Vorkommen ändern ,repeat
um nur[w](val)
statt zu speichern Bytes