Não, não é o
^^vv<><>BA
tipo de ovos de Páscoa, ovos de Páscoa reais que pintamos.
Aqui está um ovo (terrivelmente desenhado).
__
/ \
/ \
| |
\____/
Na Páscoa, pintamos com padrões. Como estes:
__
/--\
/----\
|----|
\____/
__
/%%\
/%%%%\
|%%%%|
\____/
__
/~~\
/~~~~\
|~~~~|
\____/
O desafio
Dado um caractere (ascii imprimível) para pintar o ovo, imprima o ovo pintado.
Exemplos:
&:
__
/&&\
/&&&&\
|&&&&|
\____/
#:
__
/##\
/####\
|####|
\____/
Especificações
- Novas linhas / espaços à direita são permitidos.
Respostas:
Flacidez cerebral ,
270268266 + 1 = 267 bytes+1 da
-c
bandeiraExperimente online!
Eu ia escrever uma explicação, mas tirei uma soneca primeiro e esqueci como todo esse pensamento funciona. Seu palpite é tão bom quanto o meu.
fonte
Python 2, 62 bytes
Super direto. Experimente online .
-1 byte, graças a @ mbomb007
fonte
Carvão ,
302616 bytesDois bytes salvos graças ao @Neil preenchendo após fazer a forma
Experimente online!
Explicação
O programa funciona criando primeiro a metade direita do ovo e depois refletindo-o para gerar a metade esquerda.
fonte
←_↘
pode ser apenas↓_
, mas na verdade você pode preencher depois de refletir por 16 bytes:__↗¹←↑¹↖²↓_‖M←¤S
.¤
Geléia ,
2422 bytesExperimente online!
Quão?
fonte
ṃ
para a explicação mais longa de um único byte.Sed, 43 caracteres
Exemplo de execução:
fonte
JavaScript (ES6),
534947 bytesTenho certeza de que posso me livrar um pouco mais disso - ter que escapar do
\
s está me irritando.s=c+c
atribuição de variável para o primeiro conjunto de{}
.c+=c
vez des=c+c
&s=s+s
, em parte graças a Neil, que percebeu essa melhoria ao mesmo tempo em que eu a fazia.Pinte seus próprios!
Mostrar snippet de código
fonte
<pre><code>
s. Bom trabalho embora.pre
.c+=c
?f=\n
parte da contagem de bytes. Isso é apenas para que o trecho seja executado.Alice ,
5352 bytes, não concorrenteAgradecemos a Leo por economizar indiretamente 1 byte.
Experimente online!
Infelizmente, tive que corrigir um erro com
y
(transliteração) para fazer esse trabalho, por isso o marquei como não concorrente.Explicação
A idéia básica é criar uma sequência de ovos, mas com
~
um espaço reservado para duas cópias da entrada. No entanto, os outros caracteres da entrada não são particularmente amigáveis para as strings de Alice, porque elas não podem conter feeds de linha, e todas/\_|
precisariam ser escapadas (porque são tratadas como espelhos e paredes). Para que eu possa salvar alguns bytes usando espaços reservados para eles também e depois transliterando-os. Os espaços reservados para/\_|
são.[^{
, que são simplesmente o caractere logo antes do que eles representam. Para o avanço de linha que estou usando}
.Agora o código ... todo o programa pode ser resolvido no modo Ordinal, pois precisamos apenas de processamento de strings e sem processamento de números inteiros. Além disso, não precisamos de nenhum fluxo de controle condicional. O programa inteiro pode ser expresso linearmente. A estrutura geral do programa é esta:
Nesse programa, o IP salta para cima e para baixo na
...
seção, primeiro executando apenas metade dos caracteres. Em seguida, os dois/
no final movem o IP para a direita em uma célula, de modo que, no caminho de volta, ele execute a outra metade (novamente pulando para cima e para baixo) até finalmente@
encerrar o programa. Portanto, se desdobrarmos a engraçada estrutura em zigue-zague no meio, o programa que estamos executando será realmente assim:Vamos passar por isso:
fonte
PowerShell ,
504948 bytesExperimente online!
Substituição direta de string em uma string literal. Não há muito espaço para jogar golfe.
-1 byte graças ao HyperNeutrino; -1 byte graças aos wubs
fonte
Cenoura , 34 bytes, não concorrente
Não concorrente porque eu apenas consertei o bug com o intérprete no espaço em branco à esquerda que não estava sendo mostrado.
Experimente online aqui .
Primeiro, estamos no modo de sinal de intercalação, onde cada personagem é empurrado para a "pilha". E, finalmente, a "pilha" é impressa como saída.
No modo de cursor,
#
empurra a entrada, de modo que as instâncias de#
são basicamente substituídas pela entrada (FYI#
é um programa de gato de um byte).fonte
SOGL V0.12 ,
211816 bytesExperimente aqui!
Todo o programa é o seguinte compactado:
onde
ŗ
é substituído pela entrada.13 bytes quase também funcionam, mas fazem coisas desnecessárias com determinadas entradas.
fonte
@,ŗ -@ŗ
05AB1E ,
343332 bytesExperimente online!
Explicação
fonte
•jÀňiXƒÐ[Z•6B6ôvy5ÝJ"_ |/\"¹«‡,
para 32, completamente diferente. Isso me enganou e me fez pensar que eu poderia usar palindromizar ... Maldito seja())(
e/\\/
são palindromes.Python 3.6 , 53 bytes
x
e retornando uma string..format()
- o{}
partes incluídas da string f são códigos a serem avaliados.Não consigo ver um intérprete online para Python 3.6.Experimente em repl.it (diz 3.5, mas é 3.6)
fonte
Retina 0.8.2 ,
4341 bytes-2 bytes graças a Kevin Cruijssen
Experimente online!
fonte
Brainfuck -
257 bytes181 bytesGolfed: versão ao vivo clique aqui
Eu não sou um jogador profissional de golfe. Esta é a minha tentativa, tanto quanto me lembro: D
Saída:
Ungolfed (+ comentários):
fonte
05AB1E ,
322926 bytes (Agradecimentos a Emigna / Adnan)Experimente online!
Versão de 29 bytes (mais inteligente sem iteração necessária devido à codificação de novas linhas):
05AB1E , 29 bytes (Emigna)
Experimente online 2!
Extensão de 26 bytes da sugestão de Emigna, usando S para separar os caracteres em uma matriz e, em seguida, [b] para interpolar cada dígito com o local correspondente na matriz anterior. Esta é essencialmente uma transliteração por elementos (smart).
05AB1E , 26 bytes (Adnan)
Experimente online 3!
fonte
Sè
- sorrateira sorrateira ...Admigna
, realmente não conheceriam o idioma sem os dois exemplos constantes.PHP, 51 bytes
PHP, 58 bytes sem quebras de linha físicas
execute isso com a
-R
opção61 bytes
fonte
-R
não é um parâmetro, é uma opção.man php
os chama de parâmetros : “É também possível processar a linha de entrada padrão por linha usando o parâmetro -r ou -F.”BF,
142140 bytesIsso é dividido em duas linhas para maior clareza; a nova linha não é contada.
É bastante fácil escrever esse tipo de coisa no AM, mas não é trivial como otimizar a ordem das células para minimizar o movimento. Escrevi um roteiro de brute-forcer para tentar todas as combinações e encontrar as mais curtas, e joguei-o um pouco para dar conta de uma oportunidade de golfe que não havia incluído no brute-forcer.
fonte
brainfuck , 114 bytes
Experimente online!
Eu usei o BF Crunch aqui para encontrar uma maneira mais ideal de gerar os caracteres individuais.
fonte
C (gcc) ,
958885 bytesAgradecimentos a Albert por -7 bytes
Agradecimentos também a ceilingcat -3 bytes
Experimente online!
fonte
*q
apenas aninhe-o diretamente no loop for para economizar 5 bytes.char*s;f(c){for(s=" __\n /11\\\n/1111\\\n|1111|\n\\____/\n";*s;putchar(*s^49?*s:c),s++);}
*s
dentro do argumento de declaração do loop for:f(c){for(char*s=" __\n /11\\\n/1111\\\n|1111|\n\\____/\n";*s;putchar(*s^49?*s:c),s++);}
1
está49
em ASCII, mas são 2 bytes, use algo com um valor de 0 a 9, por exemplo, o caractere de tabulação `` é o valor ASCII9
.*s;f(c){for(s
vez def(c){for(int*
SpecBAS - 70 bytes
?
é uma abreviação dePRINT
comando e o apóstrofo move o cursor para a próxima linha.fonte
Röda , 46 bytes
Experimente online!
fonte
Python, 59 bytes
fonte
Lua, 66 bytes
((([[#Acertou em cheio]])))
fonte
Retina , 41 bytes
Experimente online!
fonte
Japt , 35 bytes
Experimente online!
Solução de 41 bytes:
Experimente online!
fonte
d
um byte mais curto.[R], 65 bytes
Consideravelmente espetacular, encontre um mais curto em R ... É o seu gsub básico
fonte
C ++ 208 bytes
Em resposta aos comentários: Esta é uma nova publicação completa.
fonte
C # , 56 bytes
Golfe
Ungolfed
Ungolfed legible
Código completo
Lançamentos
56 bytes
- Solução inicial.Notas
Os resultados impressos no link fornecido não parecerão pretendidos, porque a fonte usada não é monoespaçada.
fonte
C (gcc) , 87 bytes
printf sem stdio.h causa avisos, mas não erros, permitindo uma compilação bem-sucedida.
Explicação
Declaração Printf que agrupa tudo em uma linha, formatando o caractere de decoração com% c.
Experimente online
fonte
C (gcc) , 84 bytes
Experimente online!
fonte