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 < 10la altura del árbol y 0 < k < nel número distinto de adornos.
Tarea
Decora el árbol comenzando con 1e incrementa a kmedida que envolvemos los adornos alrededor del árbol. Si alcanzamos ky 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
intparaConsoleColor... Esta es la temporada :)MerryChristmas.gif
fuente
i=1la declaración int y eliminarla de suforbucle ...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)/2intencionalmente 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