Mi esposa es muy, digamos, particular cuando se trata de poner adornos en nuestro árbol de Navidad. Consigamos un código para ayudarla en este momento difícil.
Entrada
Dada una entrada, 2 < n < 10
la altura del árbol y 0 < k < n
el número distinto de adornos.
Tarea
Decora el árbol comenzando con 1
e incrementa a k
medida que envolvemos los adornos alrededor del árbol. Si alcanzamos k
y tenemos más ramas para decorar, entonces comencemos de nuevo 1
.
Está bien si no hay el mismo número de cada adorno en el árbol, siempre que se satisfaga el patrón.
Los adornos deben aparecer encima de cada rama, ^
excepto en la fila superior.
El árbol está estructurado comenzando con una rama, luego el siguiente nivel tiene + 1 ramas con un espacio entre cada una, escalonadas desde la parte superior como:
^
^ ^
Para una tercera fila, agregaría una rama más y las volvería a escalonar para que ninguna rama esté en la misma columna (si lo considera como una cuadrícula).
^
^ ^
^ ^ ^
Salida
Da salida a tu árbol decorado.
Ejemplos
1)
n = 3, k = 2
^ //Height is 3
^ ^
^ ^ ^
Ahora decoramos cada rama comenzando con 1 e incrementamos a k:
^
1 2
^ ^
1 2 1
^ ^ ^
2)
n = 6, k = 5
^ //Non-Decorated
^ ^
^ ^ ^
^ ^ ^ ^
^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^
^ //Decorated
1 2
^ ^
3 4 5
^ ^ ^
1 2 3 4
^ ^ ^ ^
5 1 2 3 4
^ ^ ^ ^ ^
5 1 2 3 4 5
^ ^ ^ ^ ^ ^
3)
n = 5, k = 1
^
^ ^
^ ^ ^
^ ^ ^ ^
^ ^ ^ ^ ^
^
1 1
^ ^
1 1 1
^ ^ ^
1 1 1 1
^ ^ ^ ^
1 1 1 1 1
^ ^ ^ ^ ^
Este es el código de golf, por lo que gana el código más corto. ¡Diviértete y buena suerte!
Respuestas:
C #
226221 BytesGuardado 5 bytes gracias a @Mukul Kumar y @aloisdg
Golfizado:
Sin golf:
Pruebas:
Editar: Tuve un casting
int
paraConsoleColor
... Esta es la temporada :)MerryChristmas.gif
fuente
i=1
la declaración int y eliminarla de sufor
bucle ...C#
respuesta obteniendo un poco de amor.05AB1E ,
292724 bytes¡Ahorré tres bytes gracias a Adnan!
Pruébalo en línea!
fuente
NN>*;
porNLO
.N*(N+1)/2
intencionalmente para obtener la suma de enteros consecutivos a partir de 1, pero olvidé por completo que 05AB1E tenía incorporados para eso. ¡Gracias!ï
parte ahora: p?JavaScript (ES6), 97 bytes
Parece que su esposa realmente es maníaca, por lo que esto no incluye ninguna línea nueva inicial o posterior, ni ningún espacio inicial o final. :-)
Manifestación
Mostrar fragmento de código
fuente
C ++ 214-13-13-3-1-10 = 186 bytes
golf
Gracias @ cyoce por guardar 1 byte.
Gracias @ conor para cortar hacia abajo a 186!
Ungolfed + copiar y compilar
fuente
#define s(a)
?#define s std::cout<<
y haciendo los ajustes correspondientes.Python 2, 133 bytes
fuente
Clojure, 223 bytes
Mi primera vez en golf con Clojure:
Cuando se llama como
(println (str "\n" (d 6 5)))
una nueva línea lo hace más agradable en REPL:Sin golf:
Tuve algunos problemas con las secuencias perezosas y las listas anidadas, pero pude guardar algunos caracteres al no repetirlos
repeat
;) y al usar\^
caracteres en lugar de"^"
cadenas. También podría dejar fuera sorprendentemente muchos espacios.fuente
Ruby 107 bytes
Llamado así
Salida:
fuente
C, 170 bytes
Llamar con:
Como beneficio adicional, aquí hay una versión binaria de 4 bits:
fuente