C'è classico risultato combinatorio che il numero di modi per piastrelle di una 2*nstriscia dal 1*2domino è 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 ncome input e stampa l'output richiesto. Vince il minor numero di byte.
Ingresso
Un numero ncompreso 1e 10compreso tramite STDIN o input di funzione.
Produzione
Stampa tutti i possibili soffitti domino della 2*nstriscia, 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 nstringhe 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.