C'è classico risultato combinatorio che il numero di modi per piastrelle di una 2*n
striscia dal 1*2
domino è il n ° numero di Fibonacci. Il tuo obiettivo è stampare tutti i tasselli per un dato n
, disegnati con trattini e linee verticali come questi 8 tasselli per n=5
:
|————
|————
——|——
——|——
|||——
|||——
————|
————|
||——|
||——|
|——||
|——||
——|||
——|||
|||||
|||||
È necessario fornire un programma o una funzione denominata che accetta n
come input e stampa l'output richiesto. Vince il minor numero di byte.
Ingresso
Un numero n
compreso 1
e 10
compreso tramite STDIN o input di funzione.
Produzione
Stampa tutti i possibili soffitti domino della 2*n
striscia, disegnati orizzontalmente. I limiti possono essere in qualsiasi ordine, ma ognuno dovrebbe apparire esattamente una volta. Devono essere separati da una linea vuota.
Un domino verticale è composto da due barre verticali ( |
) e un domino orizzontale è composto da due trattini ( —
). È possibile utilizzare trattini ( -
) al posto dei trattini per rimanere in ASCII.
Puoi fare qualsiasi cosa con gli spazi bianchi purché l'output stampato sia uguale.
——
e |
lunghezza come quelle di Dennis, non n
stringhe di lunghezza —
e |
filtrate —
apparendo in coppia. E per quest'ultimo, mi aspetto che avvenga tramite regex o operazioni su stringa sulla stringa prodotta, come s.split('——
) `, non con un approccio aritmetico come il tuo.