Escreva um programa ou função que receba um número inteiro maior que 1 ou menor que -1. Ou seja, a entrada não será 0, 1 ou -1.
Se a entrada for 2
, a saída deve ser:
|\_/|
|___|
Se a entrada for 3
, a saída deve ser:
|\_/\_/|
|______|
Se a entrada for 4
, a saída deve ser:
|\_/\_/\_/|
|_________|
O padrão continua da mesma maneira exata para entradas maiores. Por exemplo, se a entrada for 10
, a saída deve ser:
|\_/\_/\_/\_/\_/\_/\_/\_/\_/|
|___________________________|
Se a entrada for -2
, a saída deve ser:
____
| |
|_/\_|
Se a entrada for -3
, a saída deve ser:
_______
| |
|_/\_/\_|
Se a entrada for -4
, a saída deve ser:
__________
| |
|_/\_/\_/\_|
O padrão continua da mesma maneira exata para entradas menores. Por exemplo, se a entrada for -10
, a saída deve ser:
____________________________
| |
|_/\_/\_/\_/\_/\_/\_/\_/\_/\_|
A saída pode ser impressa ou retornada como uma sequência com uma nova linha à direita opcional. O canto superior direito "vazio" da saída para entradas negativas pode ser um espaço ou pode permanecer vazio.
O código mais curto em bytes vence.
Respostas:
Pitão, 45 bytes
Experimente on-line: Demonstration or Test Suite
Explicação:
fonte
CJam,
565049 bytesExperimente online no intérprete CJam.
Como funciona
fonte
Pitão,
5654 bytesEstou jogando Pyth no telefone com o intérprete on-line. Essa é uma ótima idéia.
Atualização 15/10/2015: Reescrevi a coisa (ainda no meu telefone, lol) e salvei 2 bytes, dos quais um poderia ter sido feito com o original também.
Experimente online.
fonte
Tamanho 0.8 , 100 bytes
Apenas cria a pilha e depois imprime tudo de uma vez. Tenho certeza de que isso pode ser praticado, mas já passei muito tempo nisso ...
fonte
JavaScript (ES6),
11198 bytesTécnica ótima descoberta! Acontece que remover todos esses interpoladores das seqüências de caracteres de modelo economiza muitos bytes. Talvez ainda pudesse ser reduzido, talvez não. Em qualquer caso, as seqüências de modelos do ES6 (e funções de seta) são impressionantes. :)
fonte
Python 2.7, 144 bytes
Isso levou mais bytes do que o esperado. Aqui está o código.
fonte
Java, 272 bytes
fonte
SpecBAS - 167 bytes
IIF$
é umaIF
instrução embutida ,#13
é uma maneira de incorporar novas linhas em uma string (e nem sempre precisa de um "+" se estiver entre strings codificadas).Desde alguns lançamentos atrás, o SpecBAS permite que você tenha várias atribuições para uma
LET
instrução, o que ajuda a salvar alguns caracteres.fonte
Python 2.7, 118 bytes
Descer de 120 para 118 foi divertido!
fonte
Ruby - 113 bytes
Parece muito tempo. Vou tentar jogar isso um pouco mais.
fonte
C #, 185 bytes
O C # luta com as repetições de golfe.
Completamente jogado:
Recuo e novas linhas adicionadas para maior clareza:
fonte
Powershell -
200190186168154Jogou fora a equação (4 - (($ n-2) 3)) a (3 $ n-6) junto com alguns parênteses e ponto e vírgula estranhos.
Constatou que `n é o equivalente a
[Environment]::NewLine
e que$s -f [args]
é o equivalente a[String]::Format
:A explicação mantém parênteses claros:
fonte