Sua tarefa: gerar um floco de neve Koch até a enésima profundidade. Você não precisa fazer um floco de neve Koch completo, apenas um lado do triângulo inicial. Wikipedia em flocos de Koch: https://en.wikipedia.org/wiki/Koch_snowflake .
Regras:
- O programa deve gerar um lado do floco de neve Koch até a enésima profundidade.
- A saída deve ser ASCII.
- Você pode gerar o floco de neve inteiro; isso não é necessário.
- Aplicam-se regras padrão para entrada / saída, brechas e outras coisas.
- Espaço em branco não importa, desde que todos os caracteres estejam no lugar certo em relação um ao outro.
- O código mais curto vence!
Casos de teste:
n = 0:
__
n = 1:
__/\__
n = 2:
__/\__
\ /
__/\__/ \__/\__
n = 3:
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__
Espero que isto faça sentido. Observe que em cada caso de teste, o fractal pode ser dividido em três partes iguais em comprimento. Observe também que a largura de cada floco de neve é três vezes a largura da geração anterior do floco de neve.
Para sua informação, foi acordado que isso não é um engodo disso .
—
Camarada SparklePony
Eu não acho que você tenha definido adequadamente qual é a representação ASCII apropriada da enésima curva de Koch.
—
orlp
Não sei se as proporções fazem sentido. O non-dupe usou
—
Ørjan Johansen
__/\__
com dois sublinhados, que tornaram cada iteração consistentemente três vezes maior que a anterior. Usar apenas um sublinhado parece dar contradições que começam a ficar realmente estranhas em n = 3. Por exemplo, as partes externas têm largura 12, enquanto a parte do meio tem apenas largura 10, como conseqüência /_
e _\
que são muito apertadas. E mesmo antes disso, você tem _
expandido para o dobro da largura de /
e \
.
Eu acho que a
—
Ørjan Johansen
/_
e _\
é a única parte realmente fatal - os sublinhados precisam desaparecer, porque precisam estar na mesma posição que o /
e \
. Uma vez feito isso, as coisas podem se expandir por 3 vezes de n = 1 em diante (mas n = 0 não se encaixa.)
Infelizmente, não, a parte do meio ainda tem largura que não corresponde às partes externas, como evidenciado por n = 3 tendo largura 52 em vez de 54 = 2 * 3 ^ 3. Experimente um destes . Incluí versões de cabeça para baixo, com partes aparecendo apenas de n = 4 ou n = 5 - elas diferem das superiores em que os sublinhados são removidos.
—
Ørjan Johansen