Su tarea: generar un copo de nieve Koch hasta la enésima profundidad. No necesita hacer un copo de nieve Koch completo, solo un lado del triángulo inicial. Wikipedia sobre copos de Koch: https://en.wikipedia.org/wiki/Koch_snowflake .
Reglas:
- El programa debe generar un lado del copo de nieve de Koch hasta la enésima profundidad.
- La salida debe ser ASCII.
- Usted puede generar todo el copo de nieve; Esto no es obligatorio.
- Se aplican reglas estándar para entrada / salida y lagunas y demás.
- El espacio en blanco no importa, siempre y cuando todos los personajes estén en el lugar correcto entre sí.
- ¡El código más corto gana!
Casos de prueba:
n = 0:
__
n = 1:
__/\__
n = 2:
__/\__
\ /
__/\__/ \__/\__
n = 3:
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__
Espero que esto tenga sentido. Observe que en cada caso de prueba, el fractal se puede dividir en tres partes de igual longitud. Observe también que el ancho de cada copo de nieve es tres veces el ancho de la generación anterior del copo de nieve.
Para su información, se acordó que esto no es un engaño de esto .
—
Camarada SparklePony
No creo que haya definido adecuadamente cuál es la representación ASCII adecuada de la enésima curva de Koch.
—
orlp
No estoy seguro de que las proporciones tengan sentido. El no duplicado se usa
—
Ørjan Johansen
__/\__
con dos subrayados, lo que hace que cada iteración sea 3 veces más grande que la anterior. El uso de un solo subrayado parece dar contradicciones que comienzan a ponerse realmente incómodas en n = 3 Por ejemplo, las partes exteriores tienen anchura 12 mientras que la parte media tiene solamente la anchura 10, como consecuencia de la /_
y _\
que son demasiado estrechos. E incluso antes de eso, se ha _
expandido al doble del ancho de /
y \
.
Creo que
—
Ørjan Johansen
/_
y _\
son la única parte realmente fatal: los guiones bajos deben desaparecer, porque deben estar en la misma posición que el /
y \
. Una vez hecho esto, las cosas pueden expandirse 3 veces desde n = 1 en adelante (pero n = 0 no encaja)
Por desgracia, no, la parte central todavía tiene un ancho que no coincide con las partes externas, como lo demuestra n = 3 que tiene un ancho de 52 en lugar de 54 = 2 * 3 ^ 3. Prueba uno de estos . Incluí versiones al revés con partes que solo aparecen desde n = 4 o n = 5; difieren de las hacia arriba en las que se eliminan los guiones bajos.
—
Ørjan Johansen