La sfida di oggi è disegnare un albero binario come una bella arte ascii come questo esempio:
/\
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/\ /\
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/\ /\ /\ /\
/ \ / \ / \ / \
/ \ / \ / \ / \
/ \ / \ / \ / \
/\ /\ /\ /\ /\ /\ /\ /\
/ \ / \ / \ / \ / \ / \ / \ / \
/\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
Ti verrà dato un numero intero positivo come input. Questo input è l' altezza dell'albero . L'esempio sopra ha un'altezza di sei.
Puoi inviare un programma completo o una funzione e sei libero di utilizzare uno qualsiasi dei nostri metodi IO predefiniti . Ad esempio, sarebbe consentito stampare l'albero, restituire una stringa con newline, restituire un array di caratteri 2D, salvare l'albero in un file, ecc.
Sono consentiti spazi finali su ciascuna riga.
Ecco alcuni esempi di ingressi e delle relative uscite:
1:
/\
2:
/\
/\/\
3:
/\
/ \
/\ /\
/\/\/\/\
4:
/\
/ \
/ \
/ \
/\ /\
/ \ / \
/\ /\ /\ /\
/\/\/\/\/\/\/\/\
5:
/\
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/\ /\
/ \ / \
/ \ / \
/ \ / \
/\ /\ /\ /\
/ \ / \ / \ / \
/\ /\ /\ /\ /\ /\ /\ /\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
Sfortunatamente, l'output cresce esponenzialmente, quindi è difficile mostrare esempi più grandi. Ecco un link all'output per 8.
Come al solito, si tratta di una sfida al code-golf , quindi si applicano scappatoie standard e provate a scrivere il programma più breve possibile in qualunque lingua scegliate.
Buon golf!