Problema
Dado um número inteiro positivo n
em quen < 100
Crie um padrão de diamante da seguinte maneira:
Entrada n=1
/\/\
\/\/
Entrada n=2
:
/\ /\
//\\/\/\//\\
\\//\/\/\\//
\/ \/
Entrada n=3
:
/\ /\
//\\ /\ /\ //\\
///\\\//\\/\/\//\\///\\\
\\\///\\//\/\/\\//\\\///
\\// \/ \/ \\//
\/ \/
Entrada n=4
:
/\ /\
//\\ /\ /\ //\\
///\\\ //\\ /\ /\ //\\ ///\\\
////\\\\///\\\//\\/\/\//\\///\\\////\\\\
\\\\////\\\///\\//\/\/\\//\\\///\\\\////
\\\/// \\// \/ \/ \\// \\\///
\\// \/ \/ \\//
\/ \/
E assim por diante.
Regras
- Programa e função permitidos.
- Espaço em branco à direita permitido.
- Espaço em branco à esquerda em linhas sem
/
ou\
permitido. - São permitidas novas linhas à direita e à direita.
- O menor código em bytes ganha
Respostas:
SOGL V0.12 , 24 bytes
Experimente aqui!
Explicação:
fonte
╬
isso é um comando doentio.╬
lolCarvão ,
3027 bytesExperimente online! Link é a versão detalhada do código. Explicação: As primitivas de desenho do carvão vegetal não conseguem desenhar um diamante, porque os movimentos diagonais permanecem em quadrados da mesma paridade. Edit: A nova solução é desenhar um lado de um diamante e girar a tela inteira pronta para desenhar o lado seguinte, permitindo que um diamante seja desenhado em um loop. Esse loop é contido em um loop para desenhar todos os diamantes internos de cada diamante. O loop mais externo desenha todos os diamantes adjacentes um ao outro. Finalmente, a imagem é espelhada.
Observe que o carvão vegetal foi estendido e outro byte pode ser salvo usando
Increment
.fonte
APL (Dyalog) ,
706966 bytesExperimente online!
Supõe
⎕IO←0
, que é padrão em muitos sistemas, portanto o programa é indexado em 0.Este é um tradfn que recebe entrada via STDIN.
Explicação
(ligeiramente desatualizado)
Observe que esse
⍺
é o argumento da esquerda,⍵
é o argumento da direita e⍺⍺
é o operador esquerdo.B
é uma função que ajuda a espelhar os diamantes. Ele pega a string como argumento certo e a função reversa como esquerda (o mesmoB
acontece com um operador).E agora vamos para a parte principal do programa.
Isso é necessário para garantir que todos os triângulos criados para cada elemento do intervalo
⌽⍳A
tenham a mesma altura, para que possam ser concatenados posteriormente.Agora a parte superior esquerda do padrão está concluída. Tudo o que resta é girá-lo verticalmente e depois horizontalmente.
E é isso! A saída é uma matriz de caracteres com
/\
s e preenchida com espaços.fonte
05AB1E ,
47434135343332 bytesExperimente online!
(-4 bytes graças a @Emigna, que sugeriu 3 melhorias)
Esta explicação foi para a versão anterior, houve algumas iterações desde então.
fonte
η
vez de sufixos, pois são iguais para essa sequência.N£
é o mesmo que¨
aqui e€R
éí
.CJam ,
6563 bytesExperimente online!
Explicação
Nesta explicação, vou me referir ao número de entrada como
n
.fonte
e#
na explicação?#
não é um comentário no CJam - sourceforge.net/p/cjam/wiki/Basic%20operators/#number-sign - mesmo que em muitos outros idiomas. Como o CJam é uma linguagem de golfe, todos os comandos de um caractere são usados para a funcionalidade apropriada para o golfe. Os comentários são úteis apenas para o código ungolfed, por isso usa uma seqüência de 2 caracteres, libertando assim a seqüência de um personagem para outra coisaPython 2 ,
152147143140 bytes-1 byte graças a musicman523
Experimente online!
Isso funciona cortando as colunas internas do maior diamante para fazer os menores, usando
[0,..,n,n,..,0]
para controlar a quantidade de colunas a serem removidas.fonte
r=r+
parar+=
Pitão,
3532 bytesSuíte de teste
Concluído para ver como as abordagens da minha e da @ LeakyNun seriam diferentes.
fonte
Dyalog APL, 46
fonte
{}
sua resposta, pois elas devem ser incluídas.Pitão , 49 bytes
Experimente online!
fonte
V , 38 bytes
Experimente online!
fonte