今日の課題は、この例のような美しいascii-artとしてバイナリツリーを描くことです。
/\
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/\ /\
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/\ /\ /\ /\
/ \ / \ / \ / \
/ \ / \ / \ / \
/ \ / \ / \ / \
/\ /\ /\ /\ /\ /\ /\ /\
/ \ / \ / \ / \ / \ / \ / \ / \
/\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
入力として正の整数が与えられます。この入力はツリーの高さです。上記の例の高さは6です。
フルプログラムまたは関数のいずれかを送信できます。デフォルトのIOメソッドは自由に使用できます。たとえば、ツリーを印刷する、改行を含む文字列を返す、2d char配列を返す、ツリーをファイルに保存するなどはすべて許可されます。
各行の末尾のスペースは許可されます。
入力とそれに対応する出力の例を次に示します。
1:
/\
2:
/\
/\/\
3:
/\
/ \
/\ /\
/\/\/\/\
4:
/\
/ \
/ \
/ \
/\ /\
/ \ / \
/\ /\ /\ /\
/\/\/\/\/\/\/\/\
5:
/\
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/\ /\
/ \ / \
/ \ / \
/ \ / \
/\ /\ /\ /\
/ \ / \ / \ / \
/\ /\ /\ /\ /\ /\ /\ /\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
残念ながら、出力は指数関数的に増加するため、より大きな例を表示することは困難です。8の出力へのリンクを次に示します。
いつものように、これはコードとゴルフの挑戦なので、標準の抜け穴が適用され、選択した言語で可能な限り最短のプログラムを作成しようとします。
ハッピーゴルフ!