Desafío
Todos sabemos acerca de los árboles de Navidad normales, ¡pero qué tal un árbol de Navidad al revés ! Este es un desafío bastante fácil con temas navideños. El objetivo de este desafío es hacerme un árbol de Navidad invertido ASCII. Aquí están las reglas para este desafío:
- Acepta un número entero extraño y positivo. Puede suponer que siempre estará entre
7
y51
. La base del árbol estará compuesta por los personajes:
___ \ / |
La parte superior del árbol (la estrella) estará compuesta por una sola
*
.Cada línea del árbol se construirá utilizando el formato
<?>
donde?
hay cualquier número de-
s. Por ejemplo, si hace una línea de longitud5
, la línea debería ser<--->
. O si hace una línea de longitud8
, la línea debería ser<------>
.Así es como se debe construir el cuerpo del árbol:
Tome el número impar
n
dado como entrada y cree una línea del árbol de esa longitud.Restar
4
den
y crear una línea del árbol de esa longitud.Restar
2
den
y crear una línea del árbol de esa longitud.Decremento
n
por2
. Después de eso, a menos que sean
igual5
, regrese al paso 2.
La base (consulte el paso 2), la estrella (consulte el paso 3) y cada línea del árbol (consulte los pasos 4 y 5) deben centrarse utilizando la entrada de número impar original (consulte el paso 1) como máximo anchura.
Ejemplos / Casos de prueba
odd number inputed: 7
___
\ /
|
<-----> line length -> 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 13
___
\ /
|
<-----------> line length -> 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 9
___
\ /
|
<-------> line length -> 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 17
___
\ /
|
<---------------> line length -> 17
<-----------> line length -> 17 - 4 = 13
<-------------> line length -> 17 - 2 = 15
<---------> line length -> 15 - 4 = 11
<-----------> line length -> 15 - 2 = 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
Reglas
- Se aplican lagunas estándar .
- Este es el código de golf , por lo que gana la respuesta más corta en bytes.
repeat the above steps until the odd number minus 2 equals 5
en la primera entrada, el número impar es 7 y 7-2 = 5, por lo tanto, el árbol debe terminar instantáneamente (sé lo que quieres decir, pero necesita reformulación)
7
la entrada mínima, primero debe crear las tres líneas de árbol (subpasos .1.1, .1.2, .1.3), luego restar 2
del número impar y probar si es igual 5
. La instrucción para verificar si el "número impar menos 2 es igual a 5" está al final, los otros tres pasos deben realizarse primero. Pero para responder su primer comentario, estaría bien.
7
como entrada o si puede aceptar 4
, como en el cuarto número impar (o3
si está indexado a 0).