Enquanto me movia, quebrei minha lâmpada. Agora, preciso de um novo. É seu trabalho me fazer uma lâmpada! Não tenho certeza do tamanho que desejo, embora saiba que quero um tamanho irregular.
Seu programa / função deve receber uma entrada numérica e imprimir uma lâmpada com tantos rabiscos / solavancos.
Exemplos:
Entrada:2
Resultado:
/ - \ () () / __ \
Entrada:3
Resultado:
/ - \ () () () / __ \
Entrada:5
Resultado:
/ - \ () () () () () / __ \
Regras:
- 0 e números negativos não importam
- Para dar às lâmpadas (um desafio esse) uma variedade maior, você deve alterar a tonalidade da lâmpada.
- Eles devem ter 4 caracteres de largura e 1 caractere de altura.
- Eles podem estar em qualquer forma, incluindo formas que não sejam da sombra da lâmpada.
- Eles não devem conter espaços em branco.
- A base deve permanecer a mesma.
- Você deve mostrar um exemplo de entrada e saída com o seu abajur.
- O código mais curto vence!
ABBB..BBBC
. O requisito de alterar uma seção significa apenas que as pessoas usarão uma sequência curta incorporada.Respostas:
Pitão - 16 bytes
Usa aspas para a sombra, já que N é pré-inicializado para isso.
Experimente online aqui .
Amostra para 5:
fonte
Boneco de neve 0.2.0 , 42 caracteres
Exemplo de execução:
Então, só notei que esqueci de implementar a capacidade de escapar barras invertidas dentro de strings quando resolvi esse desafio. Definitivamente, isso será algo na próxima versão, mas por enquanto, aqui está o que eu fiz para imprimir a linha final:
92
é o código ASCII de uma barra invertida,wR
agrupa-o em uma matriz e agora posso imprimi-losP
porque "strings" no Snowman são na verdade apenas matrizes de números.fonte
> <> ,
434138 bytesEntrada através de um ponto de código, por exemplo, o espaço é 32. Isso usa parte do código do próprio programa como abajur, resultando em algo que se parece com uma antena parabólica:
(Sugestão graças a @randomra)
Por mais três bytes, podemos alterar a terceira linha para adicionar um pouco mais de personalização:
Isso produz uma daquelas lâmpadas que disparam luz para cima, por falta de uma maneira melhor de colocá-la:
fonte
R,
545246 bytesNesta versão, entrada e saída são quase misturadas:
{in / out} COLOCAR:
EDIT 1 : -2 bytes graças ao comentário @manatwork.
EDIT 2 : -6 bytes. O crédito total vai para @manatwork novamente
fonte
" /_\\"
deveria ser"/__\\"
. BTW, isso é\r
necessário?\r
me salvou dois bytes! Deveria ter relido meu código! Obrigado !cat("RRRR",rep(" ()",scan()),"/__\\",sep="\n")
parece funcionar.Palha , 26 bytes (não concorrente)
Use
'--'
como abajur,faça a entrada em unárioagora em decimalfonte
CJam, 18 bytes
Exemplo de execução para a entrada 5:
Experimente online aqui
fonte
JavaScript ES6, 34 bytes
As novas linhas são significativas
Exemplo com entrada 5:
fonte
sed, 28 bytes
Recebe entrada em unário. A sombra é a seleção óbvia (igual à base).
Execução de teste
fonte
Gema: 30 caracteres
Exemplo de execução:
fonte
jq: 30 caracteres
(Código de 29 caracteres + opção de linha de comando de 1 caractere.)
Exemplo de execução:
Teste on-line (a passagem do
-r
URL não é suportada - verifique você mesmo Raw Output.)fonte
C, 54 bytes
Ligue
f()
com a altura desejada da lâmpada.Experimente em ideone.
Exemplo de saída para 5:
fonte
Pyke, 15 bytes
Experimente aqui!
Saídas:
fonte
Kotlin , 36 bytes
Experimente online!
fonte
Espaço em branco , 169 bytes
Letras
S
(espaço),T
(guia) eN
(nova linha) adicionadas apenas como destaque.[..._some_action]
adicionado apenas como explicação.Experimente online (apenas com espaços brutos, guias e novas linhas).
Explicação em pseudo-código:
Empurra todos os caracteres na ordem inversa para a pilha e os imprime em um loop.
NOTA:
i
no pseudo-código acima é armazenado de volta no heap em todas as iterações deLOOP
, porque não queremos deixá-lo na pilha para ser impresso no final.fonte
Tela , 8 bytes
Experimente aqui!
Explicação:
fonte
05AB1E ,
17151311 bytes-2 bytes (17 → 15) graças a @EriktheOutgolfer .
-2 bytes (13 → 11) depois de se inspirar na resposta do @dzaima no Canvas .
A tampa é igual à base (
/__\
).Explicação:
Resposta antiga de 13 bytes:
Experimente online.
fonte
Excel, 31 bytes
Uma função de planilha anônima que recebe entrada como um numérico do intervalo
[A1]
e sai para a célula chamadora.Esta lâmpada é musical - e ajudará a animar e iluminar o seu dia.
Resultado
fonte
PowerShell 5.1,
28.26 bytesObrigado Mazzy por 2 bytes
Como a sombra pode ter 4 caracteres, o uso de um número salva um par de aspas. A parte mais difícil foi encontrar uma sombra bonita.
Resultado:
fonte
8008;," ()"*"$args";"/__\"
Python 2, 36 bytes
Para a entrada 4:
Observe que, para o Python, qualquer sombra de lâmpada usando pipes é um byte a menos.
-1 bytes graças a @Alex!
fonte
print"-"*4+"\n ()"*input()+"\n/__\\"
Japonês , 17 bytes
Experimente online!
Saída para
5
é:fonte
¥
.SWI-Prolog,
7360 bytesa(5).
saídasfonte
Julia, 36 bytes
Isso cria uma função sem nome que recebe um número inteiro como entrada e imprime no stdout.
Exemplo:
fonte
Bash + coreutils, 37 bytes
As novas linhas são necessárias e contadas no total de bytes. GNU sed é necessário.
Corre:
Resultado:
fonte
Ruby, 42 bytes
fonte
Neoscript , 28 bytes
fonte
Java
711,848337 bytesExperimente online. (NOTA: o Java 11 ainda não é suportado no TIO, por isso
String.repeat(int)
foi emulado comrepeat(String,int)
para a mesma contagem de bytes.)Usa
i!!i
como tampa.¡!!¡
parece melhor , mas tem mais dois bytes.Explicação:
fonte
Perl 5 , 24 bytes
Experimente online!
Usa
1000
como tampa.fonte
Adiante , 38 bytes
Experimente online!
Amostras
fonte
Befunge-93 , 50 bytes
Experimente online!
Exemplo com entrada 3
fonte
PHP, 38 bytes
Salvar em arquivo; execute como pipe
-nF
ou experimente online .fonte