Há um resultado combinatório clássico de que o número de maneiras de ladrilhar uma 2*nfaixa por 1*2dominós é o número n- ésimo de Fibonacci. Seu objetivo é imprimir todas as inclinações para um determinado item n, desenhadas com traços e linhas verticais como essas 8 inclinações para n=5:
|————
|————
——|——
——|——
|||——
|||——
————|
————|
||——|
||——|
|——||
|——||
——|||
——|||
|||||
|||||
Você deve fornecer um programa ou função nomeada que tome ncomo entrada e imprima a saída necessária. Menos bytes ganha.
Entrada
Um número nentre 1e 10inclusive via STDIN ou entrada de função.
Resultado
Imprima todas as inclinações de dominó possíveis da 2*ntira, desenhadas horizontalmente. As inclinações podem estar em qualquer ordem, mas cada uma deve aparecer exatamente uma vez. Eles devem ser separados por uma linha em branco.
Um dominó vertical é feito de duas barras verticais ( |) e um dominó horizontal é feito de dois traços ( —). Você pode usar hífens ( -) no lugar dos traços para permanecer no ASCII.
Você pode fazer qualquer coisa com espaço em branco, desde que a saída impressa pareça a mesma.
——e |por comprimento como Dennis, não Length- ncordas de —e |filtrados por —aparecer em pares. E para o último, eu esperaria que fosse através de expressões regulares ou operações de string na string produzida, como s.split('——) `, não por uma abordagem aritmética como a sua.