Os anéis borromeanos são um curioso conjunto de três círculos, ligados de tal forma que a remoção de qualquer um deles desvinculará os outros dois:
Você pode fazer um conjunto para si mesmo com alguns elásticos e um anel de encadernação . Com mais tiras de borracha, é fácil criar qualquer link brunniano .
Escreva um programa ou função que produza (imprima ou retorne) essa representação artística dos anéis borromeanos:
+-----+
| |
+-----+ |
| | | |
| +-|---+ |
| | | | | |
| | +-|---+
| | | |
+-|---+ |
| |
+-----+
As linhas podem ter espaços à direita e pode haver uma nova linha à direita.
O código mais curto em bytes vence.
code-golf
ascii-art
kolmogorov-complexity
Passatempos de Calvin
fonte
fonte
Respostas:
CJam,
53 51 5049 bytesConversão de base antiga simples ...
Todos os caracteres estão bem no intervalo ASCII estendido (código ASCII 1 a 255), portanto, número de caracteres == número de bytes.
Experimente online aqui e obtenha o código original aqui
fonte
B/N*
splits por 11 caracteres e se junta a nova linha sejaPitão - 51 bytes
Tenho certeza de que alguém vai bater tão rápido, mas apenas uma resposta básica de compressão porque estou me sentindo preguiçoso. Vou tentar escrever uma resposta séria em breve.
Experimente aqui online .
fonte
Pitão, 49 bytes
Demonstração.
Isso usa a codificação base 4 e divide a string em décimos primeiro, depois as une em novas linhas.
fonte
Ruby, 110
Algo diferente da conversão de base direta.
Ungolfed:
fonte
Ruby, 117 bytes
Não ganhei, mas achei uma abordagem atraente:
fonte
BrainFuck, 361 bytes
Aqui está um pequeno programa do BrainFuck, apenas imprimindo char por char.
fonte
Staq , 109 caracteres
saída:
fonte
Python 3, 139 bytes
É o mais próximo que posso chegar de imprimi-lo diretamente (que seria 134 bytes) sem realmente fazê-lo ... Não tenho mais certeza de como encurtá-lo.
fonte