El reto
Escriba un programa que tome un número entero N como entrada y genere la etapa de vida o muerte en la que se encuentra actualmente un árbol. N siempre estará entre 0 y 10.
Las etapas de la vida y la muerte
Vida: para dibujar una etapa de la vida, simplemente dibuja una base de tamaño N , que consiste en
^
caracteres, luego sube y resta 2 de N , si el resultado es mayor que 0, y dibuja una línea de^
caracteres nuevamente, nuevamente con el tamaño de la nueva N . Repita mientras N es mayor que 0. Para finalizar, coloque un solo|
carácter si el valor inicial de N es impar o dos||
caracteres si fue par.
Ejemplo:N = 5
^ ^^^ ^^^^^ |
Tenga en cuenta que si N = 0, solo se dibujará el tallo, sin las hojas (
^
) en ellos.Muerte: Esto es más o menos lo mismo que Vida , excepto que la base es 10 - N , usa en
M
lugar de^
y agrega 2 a N y vuelve a dibujar las líneas con el mismo procedimiento que el anterior, pero esta vez agrega 2 a N mientras es menor o igual a 10.
Ejemplo:N = 3
M MMM MMMMM MMMMMMM |
La meta
Su programa tiene que ejecutar en 2 idiomas diferentes ambos tienen que tener una entrada de N . El primer idioma tiene que dar salida a la etapa de vida de un árbol de acuerdo con N , el segundo idioma tiene que dar salida a la etapa de muerte .
Reglas
- Este es el código de golf , el código más corto en bytes que cumple con todos los requisitos gana.
- El código tiene que ejecutarse en 2 idiomas diferentes. Sí, Python 2 y Python 3 son idiomas diferentes .
- Las lagunas estándar están prohibidas.
- Se permiten nuevas líneas o espacios al final.
Casos de prueba
Entrada: N = 1
Primer idioma (vida):
^
|
Segundo idioma (muerte):
M
MMM
MMMMM
MMMMMMM
MMMMMMMMM
|
Entrada: N = 10
Primer idioma (vida):
^^
^^^^
^^^^^^
^^^^^^^^
^^^^^^^^^^
||
Segundo idioma (muerte):
||
Buena suerte codificando!
Respuestas:
Dyalog APL / SOGL,
70656362 bytesInterpretado en la codificación Dyalog APL clásica : - vida: (contiene no imprimibles), espera
⎕IO←1
¡Prueba aquí!
Interpretado en la codificación SOGLs - muerte:
Pruébalo aquí!
Explicación:
Esto tomó demasiado tiempo. Los consejos de golf para la parte APL son bienvenidos, todo debería ser aplicable siempre que no cambie nada antes
ûP'
Puede cargar el archivo (después de invertir
xxd
) en SOGL seleccionando el archivo en elBrowse...
cuadro de diálogo y luego haciendo clicload SOGL codepage encoded file
.fuente
Python 2 y Python 3 ,
119110109 bytesPruébalo en línea! (Python 2, vida)
Pruébalo en línea! (Python 3, muerte)
fuente
b=int(input())
y luegoif n:b=10-b
guarda un byte.Python 2 / Python 3 , 121 bytes
Pruébalo en línea! (Python 2)
Pruébalo en línea! (Python 3)
fuente
Python 3 / Python 2 , 128 bytes
Pruébalo en línea! (Python 3)
Pruébalo en línea! (Python 2)
fuente
C (gcc) / Python 2 , 308 bytes
Pruébalo en línea!
Python 2 / C (gcc) , 308 bytes
Pruébalo en línea!
fuente