Votre tâche: générer un flocon de neige Koch à la nième profondeur. Vous n'avez pas besoin de faire un flocon de neige Koch complet, juste un côté du triangle de départ. Wikipédia sur les flocons de Koch: https://en.wikipedia.org/wiki/Koch_snowflake .
Règles:
- Le programme doit générer un côté du flocon de neige de Koch à la nième profondeur.
- La sortie doit être ASCII.
- Vous pouvez générer le flocon de neige entier; ce n'est pas obligatoire.
- Des règles standard pour les entrées / sorties et les échappatoires et autres s'appliquent.
- L'espace n'a pas d'importance, tant que tous les personnages sont au bon endroit les uns par rapport aux autres.
- Le code le plus court gagne!
Cas de test:
n = 0:
__
n = 1:
__/\__
n = 2:
__/\__
\ /
__/\__/ \__/\__
n = 3:
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__
J'espère que cela a du sens. Notez que dans chaque cas de test, la fractale peut être divisée en trois parties de longueur égale. Notez également que la largeur de chaque flocon de neige est trois fois la largeur de la génération précédente du flocon de neige.
__/\__
avec deux soulignements, ce qui rend chaque itération 3 fois plus grande que la précédente. L'utilisation d'un seul soulignement semble donner des contradictions qui commencent à devenir vraiment gênantes dans n = 3. Par exemple, les parties extérieures ont une largeur 12 tandis que la partie médiane n'a qu'une largeur 10, en raison de la /_
et _\
qui sont trop à l'étroit. Et même avant cela, vous avez _
deux fois la largeur de /
et \
.
/_
et _\
sont la seule partie vraiment fatale - les soulignements doivent disparaître, car ils doivent être dans la même position que le /
et \
. Une fois cela fait, les choses peuvent s'étendre de 3 fois à partir de n = 1 (mais n = 0 ne correspond pas.)