Inspirado en un video de youtube de un usuario de PPCG ...
Su desafío es utilizar ASCII-art para dibujar un muro de castillo de Minecraft de Andesita y Diorita. La forma de la pared es el conjunto Cantor . Como referencia, el conjunto Cantor se realiza repitiendo las siguientes N veces:
- Triplica el paso actual
- Reemplace el del medio con espacio en blanco
- Agregue una línea completa debajo
Esto crea lo siguiente para los primeros cuatro pasos:
*
* *
***
* * * *
*** ***
*********
* * * * * * * *
*** *** *** ***
********* *********
***************************
Sin embargo, su desafío no es tan simple. Verá, después de que el conjunto cantor se vuelve realmente grande, se vuelve aburrido mirar el mismo personaje repetido una y otra vez. Así que vamos a cambiar eso superponiendo una serie alterna de asteriscos *
y signos de libra #
. Debes alternar en cada tres caracteres horizontalmente y en cada fila verticalmente. (Por supuesto, dejando los espacios iguales) Por ejemplo, el segundo ejemplo será:
* *
###
y el tercer ejemplo será:
* * * *
### ###
***###***
Para completar, aquí hay ejemplos cuatro y cinco:
#4
* * * * * * * *
### ### ### ###
***###*** ***###***
###***###***###***###***###
#5
* * * * * * * * * * * * * * * *
### ### ### ### ### ### ### ###
***###*** ***###*** ***###*** ***###***
###***###***###***###***### ###***###***###***###***###
***###***###***###***###***###***###***###***###***###***###***###***###***###***
Y un mega ejemplo, la sexta iteración:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
***###*** ***###*** ***###*** ***###*** ***###*** ***###*** ***###*** ***###***
###***###***###***###***### ###***###***###***###***### ###***###***###***###***### ###***###***###***###***###
***###***###***###***###***###***###***###***###***###***###***###***###***###*** ***###***###***###***###***###***###***###***###***###***###***###***###***###***
###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###***###
El reto
Usted debe escribir un programa completo o función que acepta un número entero positivo para la entrada y salida a la N -ésima generación de este castillo de Minecraft fractal. Puede tomar Entrada y salida por cualquier método razonable, y no tiene que preocuparse por entradas no válidas (como números menores que 1, números de coma flotante, no números, etc.).
¡La respuesta más corta, medida en bytes, gana!
Respuestas:
Gelatina ,
433635 bytesSolo un comienzo, estoy seguro de que esto podría ser más corto.
Pruébalo en línea!
* Para n > 5, su navegador puede ajustar la salida, pero si la copia y pega en un editor sin envoltura, verá la salida correcta.
Explicación
fuente
Javascript (ES7),
132125 bytesDonde
\n
representa el carácter literal de nueva línea. Versión ES6 para 141 bytes:fuente
Python 2,
142138136 bytesEste es el fragmento de código de aquí , y luego editado para este desafío.
Publicaremos una explicación más tarde.
Además, por cierto, dos espacios son pestañas.
Editar 1: 4 bytes guardados gracias a @DJMcMayhem.
Edición 2: 2 bytes guardados gracias a @daHugLenny.
fuente
exec("s+=len(s)*' '+s;"*(n-i))
?Rubí,
115103102 bytesBasado en la solución de jsvnm al juego estándar de golf de Cantor .
-12 bytes gracias a Jordan.
fuente
g=->{T.tr"*#","#*"}
s.map!{...}
lugar des=s.map{...};s
.+
cambio a<<
, y terminaría en la misma longitud. Creo ques
todavía es necesario al final de cualquier manera: el mapa está dentro de un.times
bucle.J,
4745 bytesBasado en mi solución al desafío establecido de Cantor.
Uso
Explicación
fuente
PHP, 159 bytes
Descompostura
fuente