Historia de fondo
Descargo de responsabilidad: puede contener información inventada sobre canguros.
Los canguros atraviesan varias etapas de desarrollo. A medida que crecen y se fortalecen, pueden saltar más alto y más, y pueden saltar más veces antes de tener hambre.
En la etapa 1 , el canguro es muy pequeño y no puede saltar en absoluto. A pesar de esto, constantemente requiere alimentación. Podemos representar un patrón de actividad de canguro de etapa 1 como este.
o
En la etapa 2 , el canguro puede hacer pequeños saltos, pero no más de 2 antes de que tenga hambre. Podemos representar un patrón de actividad de canguro de etapa 2 como este.
o o
o o o
Después de la etapa 2, el canguro mejora rápidamente. En cada etapa posterior, el canguro puede saltar un poco más alto (1 unidad en la representación gráfica) y el doble de veces. Por ejemplo, el patrón de actividad de un canguro en etapa 3 se ve así.
o o o o
o o o o o o o o
o o o o o
Para la etapa n , el patrón de actividad consiste en 2 n-1 saltos en forma de V de altura n .
Por ejemplo, para la etapa 4 , hay 8 saltos de altura 4 .
o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o
Tarea
Escriba un programa completo o una función que tome un entero positivo n como entrada e imprima o devuelva la representación artística ASCII de una etapa n patrón de actividad de canguro de .
Los espacios en blanco circundantes y los códigos de escape ANSI están permitidos, siempre que el patrón se vea exactamente como se muestra arriba.
Si elige una función que devuelve la salida, debe devolver una sola cadena o matriz de caracteres que muestre la salida correcta cuando se imprima. No está permitido devolver una serie de cadenas.
Puede usar cualquier carácter imprimible que no sea un espacio en blanco en lugar de o
, siempre que sea coherente dentro del patrón de actividad y en todos los patrones en su respuesta.
Este es el código de golf ; ¡que gane la respuesta más corta en bytes!
o
. ¿Puedes usar cualquier personaje para representar los espacios (siempre que sean diferentes?)?