Inpsired por um vídeo do youtube de um usuário PPCG companheiro ...
Seu desafio é usar a arte ASCII para desenhar uma muralha de Andesite e Diorite no castelo de Minecraft. A forma da parede é o conjunto Cantor . Para referência, o Cantor Set é feito repetindo os seguintes N tempos:
- Triplicar a etapa atual
- Substitua a do meio por espaço em branco
- Adicione uma linha completa abaixo dela
Isso cria o seguinte para as quatro primeiras etapas:
*
* *
***
* * * *
*** ***
*********
* * * * * * * *
*** *** *** ***
********* *********
***************************
No entanto, seu desafio não é tão simples assim. Veja bem, depois que o conjunto de cantores se torna realmente grande, torna-se chato olhar para o mesmo personagem repetido várias vezes. Então, vamos mudar isso, sobrepondo uma série alternada de asteriscos *
e sinais de libra #
. Você deve alternar a cada três caracteres horizontalmente e a cada linha verticalmente. (Obviamente, deixando os espaços iguais). Por exemplo, o segundo exemplo se tornará:
* *
###
e o terceiro exemplo se tornará:
* * * *
### ###
***###***
Para completar, aqui estão os exemplos quatro e cinco:
#4
* * * * * * * *
### ### ### ###
***###*** ***###***
###***###***###***###***###
#5
* * * * * * * * * * * * * * * *
### ### ### ### ### ### ### ###
***###*** ***###*** ***###*** ***###***
###***###***###***###***### ###***###***###***###***###
***###***###***###***###***###***###***###***###***###***###***###***###***###***
E um mega exemplo, a sexta iteração:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
***###*** ***###*** ***###*** ***###*** ***###*** ***###*** ***###*** ***###***
###***###***###***###***### ###***###***###***###***### ###***###***###***###***### ###***###***###***###***###
***###***###***###***###***###***###***###***###***###***###***###***###***###*** ***###***###***###***###***###***###***###***###***###***###***###***###***###***
###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###
O desafio
Você deve escrever um programa ou função completo que aceite um número inteiro positivo para entrada e produza a n- ésima geração desse fractal do castelo minecraft. Você pode obter Entrada e saída por qualquer método razoável e não precisa se preocupar com entradas inválidas (como números menores que 1, números de ponto flutuante, números não etc.).
A resposta mais curta, medida em bytes, vence!
Respostas:
Geléia ,
433635 bytesApenas um começo, eu tenho certeza que isso poderia ser mais curto.
Experimente online!
* Para n > 5, seu navegador pode agrupar a saída, mas se você copiá-lo e colá-lo em um editor não configurável, verá a saída adequada.
Explicação
fonte
JavaScript (ES7),
132125 bytesOnde
\n
representa o caractere literal de nova linha. Versão do ES6 para 141 bytes:fonte
Python 2,
142138136 bytesEste é o trecho de código daqui e, em seguida, editado para este desafio.
Postará uma explicação mais tarde.
Além disso, BTW, dois espaços são tabulações.
Edite 1: 4 bytes salvos graças a @DJMcMayhem.
Edite 2: 2 bytes salvos graças a @daHugLenny.
fonte
exec("s+=len(s)*' '+s;"*(n-i))
?Rubi,
115103102 bytesBaseado na solução da jsvnm para o golfe padrão do Cantor .
-12 bytes graças à Jordânia.
fonte
g=->{T.tr"*#","#*"}
s.map!{...}
vez des=s.map{...};s
.+
alteração para<<
e terminaria no mesmo comprimento. Acredito ques
ainda seja necessário no final, de qualquer maneira - o mapa está dentro de um.times
loop.J,
4745 bytesBaseado na minha solução para o desafio do conjunto Cantor.
Uso
Explicação
fonte
PHP, 159 bytes
demolir
fonte