Écrivez un programme (ou une fonction) qui accepte un entier positif.
Si l'entrée est 1
, imprimez (ou retournez) deux diamants voisins côte à côte, chacun avec une longueur de côté d'une barre oblique:
/\/\
\/\/
Pour chaque entrée N
supérieure à 1, regardez la sortie pour N-1
et pour chaque paire de diamants voisins, insérez un nouveau diamant entre eux dont la longueur latérale est la somme des longueurs latérales des deux voisins. Imprimez (ou retournez) ce nouveau motif de diamant.
Donc, quand 2
est entrée, nous regardons la sortie 1
et pouvons voir qu'il y a deux diamants voisins, tous deux de longueur latérale 1. Donc, nous insérons un diamant de longueur latérale 2 (1 + 1) entre eux:
/\
/\/ \/\
\/\ /\/
\/
Pour l'entrée, 3
nous regardons la sortie 2
et ajoutons deux diamants de longueur latérale 3 (1 + 2 et 2 + 1) entre les deux paires de diamants voisins:
/\ /\
/ \ /\ / \
/\/ \/ \/ \/\
\/\ /\ /\ /\/
\ / \/ \ /
\/ \/
Poursuivant le modèle, la sortie pour 4
est:
/\ /\
/\ / \ / \ /\
/ \ /\ / \ / \ /\ / \
/ \ / \ / \ /\ / \ / \ / \
/\/ \/ \/ \/ \/ \/ \/ \/\
\/\ /\ /\ /\ /\ /\ /\ /\/
\ / \ / \ / \/ \ / \ / \ /
\ / \/ \ / \ / \/ \ /
\/ \ / \ / \/
\/ \/
Etc.
Vos sorties peuvent avoir des espaces de fin sur toutes les lignes mais seulement jusqu'à un retour à la ligne de fin (et aucun retour à la ligne de début).
Le code le plus court en octets gagne.