Scrivi un programma (o una funzione) che accetta un numero intero positivo.
Se l'input è 1, stampare (o restituire) due diamanti vicini uno accanto all'altro, ciascuno con una lunghezza laterale di 1 barra:
/\/\
\/\/
Per ogni input Nmaggiore di 1, guarda l'output per N-1e per ogni coppia di diamanti vicini, inserisci un nuovo diamante tra loro la cui lunghezza laterale è la somma delle lunghezze laterali dei due vicini. Stampa (o ritorna) questo nuovo motivo a diamante.
Quindi, quando 2viene inserito, guardiamo l'output per 1e possiamo vedere che ci sono due diamanti vicini, entrambi con lunghezza laterale 1. Quindi inseriamo un diamante di lunghezza laterale 2 (1 + 1) tra di loro:
/\
/\/ \/\
\/\ /\/
\/
Per input 3guardiamo l'output per 2e aggiungiamo due diamanti con lunghezza laterale 3 (1 + 2 e 2 + 1) tra le due coppie di diamanti vicini:
/\ /\
/ \ /\ / \
/\/ \/ \/ \/\
\/\ /\ /\ /\/
\ / \/ \ /
\/ \/
Continuando il modello, l'output per 4è:
/\ /\
/\ / \ / \ /\
/ \ /\ / \ / \ /\ / \
/ \ / \ / \ /\ / \ / \ / \
/\/ \/ \/ \/ \/ \/ \/ \/\
\/\ /\ /\ /\ /\ /\ /\ /\/
\ / \ / \ / \/ \ / \ / \ /
\ / \/ \ / \ / \/ \ /
\/ \ / \ / \/
\/ \/
E così via.
I tuoi output possono avere spazi finali su qualsiasi linea ma solo fino a una nuova riga finale (e nessuna nuova riga iniziale).
Vince il codice più breve in byte.