Ma femme est très, disons, particulièrement attentive lorsqu'il s'agit de mettre des ornements sur notre sapin de Noël. Donnons-lui du code pour l'aider en cette période difficile.
Contribution
Étant donné l'entrée, 2 < n < 10
la hauteur de l'arbre et 0 < k < n
le nombre distinct d'ornements.
Tâche
Décorez l'arbre en commençant 1
et en augmentant jusqu'à ce k
que nous enroulions les ornements autour de l'arbre. Si nous atteignons k
et que nous avons plus de branches à décorer, recommencez à 1
.
Ce n'est pas grave s'il n'y a pas le même nombre de chaque ornement sur l'arbre, tant que le motif est satisfait.
Les ornements doivent apparaître au-dessus de chaque branche, à l' ^
exception de la rangée du haut.
L'arbre est structuré en commençant par une branche, puis le niveau suivant a + 1 branche avec un espace entre chacune, décalée du haut, comme suit:
^
^ ^
Pour une troisième ligne, vous ajouteriez une branche supplémentaire et les décaleriez à nouveau de sorte qu'aucune branche ne se trouve sur la même colonne (si vous la considérez comme une grille).
^
^ ^
^ ^ ^
Sortie
Sortez votre arbre décoré.
Exemples
1.
n = 3, k = 2
^ //Height is 3
^ ^
^ ^ ^
Maintenant, nous décorons chaque branche en commençant par 1 et augmentons à 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
^ ^ ^ ^ ^
C'est du code-golf donc le code le plus court gagne! Amuse-toi bien et bonne chance!
Réponses:
C #
226221 octets5 octets sauvés grâce à @Mukul Kumar et @aloisdg
Golfé:
Ungolfed:
Essai:
Edit: J'ai eu un casting de jeu
int
pourConsoleColor
... C'est la saison :)JoyeuxChristmas.gif
la source
i=1
dans la déclaration int et l'enlever de votrefor
boucle ...C#
réponse recevoir de l'amour.05AB1E ,
292724 octetsTrois octets sauvés grâce à Adnan!
Essayez-le en ligne!
la source
NN>*;
parNLO
.N*(N+1)/2
intentionnellement la somme d'entiers consécutifs à partir de 1, mais j'ai complètement oublié que 05AB1E avait des fonctions intégrées pour cela. Merci!ï
partie maintenant: p?JavaScript (ES6), 97 octets
Il semble que votre femme soit vraiment maniaque, donc cela n'inclut pas de nouvelle ligne principale ou inférieure, ni aucun espace principal ou inférieur. :-)
Démo
Afficher l'extrait de code
la source
C ++ 214 - 13 - 3 - 1 -1 - 10 = 186 octets
joué au golf
Merci @ cyoce pour la sauvegarde de 1 octet.
Merci @ conor pour couper vers le bas à 186!
Ungolfed + copier et compiler
la source
#define s(a)
?#define s std::cout<<
et en faisant des ajustements.Python 2, 133 octets
la source
Clojure, 223 octets
Mon premier départ au golf avec Clojure:
Lorsque appelé comme
(println (str "\n" (d 6 5)))
une nouvelle ligne, il est plus agréable sur REPL:Non-golfé:
J'ai eu quelques problèmes avec les séquences paresseuses et les listes imbriquées, mais j'ai pu enregistrer certains caractères en ne répétant pas
repeat
;) et en utilisant des\^
caractères plutôt que des"^"
chaînes. Je pourrais aussi laisser étonnamment de nombreux espaces.la source
Ruby 107 octets
Appelé comme ça
Sortie:
la source
C, 170 octets
Appeler avec:
En bonus, voici une version binaire 4 bits:
la source