Note aux mods, si le titre ne rend pas justice, changez-le, peu importe, je trouvais ça drôle.
Vous devez suspendre les lumières pour cette saison de Noël et votre famille a décidé que pour que ce soit un joyeux Noël, vous devez accrocher au moins deux lumières de Noël sur votre maison. Donc, votre défi est, à partir d’un nombre 1 < n
, d’émettre le nombre correspondant de lumières de Noël que vous allez suspendre selon les spécifications suivantes ...
Voici la structure d'une lumière de Noël de base:
_?_
[___]
/:' \
|:: |
\::. /
\::./
'='
La seule partie incertaine est le point d'interrogation, car selon l'endroit où la lumière se pose dans la chaîne, la connexion sera très différente.
Pour le premier feu de la chaîne, vous devrez générer:
.--._
_(_
[___]
/:' \
|:: |
\::. /
\::./
'='
Pour le dernier feu de la chaîne, vous devrez générer:
_.--.
_)_
[___]
/:' \
|:: |
\::. /
\::./
'='
Et pour toutes les lumières au milieu:
_.--.--._
_Y_
[___]
/:' \
|:: |
\::. /
\::./
'='
Exemple:
N = 2 :
.--.__.--.
_(_ _)_
[___] [___]
/:' \ /:' \
|:: | |:: |
\::. / \::. /
\::./ \::./
'=' '='
N = 6 :
.--.__.--.--.__.--.--.__.--.--.__.--.--.__.--.
_(_ _Y_ _Y_ _Y_ _Y_ _)_
[___] [___] [___] [___] [___] [___]
/:' \ /:' \ /:' \ /:' \ /:' \ /:' \
|:: | |:: | |:: | |:: | |:: | |:: |
\::. / \::. / \::. / \::. / \::. / \::. /
\::./ \::./ \::./ \::./ \::./ \::./
'=' '=' '=' '=' '=' '='
Crédit
ASCII-Art provient de: http://www.chris.com/ascii/index.php?art=holiday/christmas/other
Il a été développé par un utilisateur nommé "jgs", qui est responsable d'environ 40% du contenu de ce site.
Règles
- Les espaces de fin sont bons, pareil avec une nouvelle ligne.
- Il y a 1 espace supplémentaire entre le premier et le dernier bulbe du reste de la chaîne.
- Vous ne pouvez prendre qu'un seul entier en entrée et la sortie DOIT être une chaîne, pas de tableaux.
- Votre programme peut avoir des fonctions non définies pour des valeurs inférieures à 2.
C’est du code-golf ascii-art , le nombre d’octets le plus faible gagne.
Réponses:
SOGL V0.12 ,
73717066 octetsEssayez-le ici!
-4 octets en boucle sur une chaîne,
(YYY)
comme la réponse Charcoal63 octets fonctionneraient si 2 n'avaient pas besoin d'être traités: /
la source
save SOGL codepage encoded file
bouton, cela vous donnera un fichier de 70 octets, que vous pourrez aussi y charger (même si le bouton de navigation est trop lointain, ce qui corrige cela). SOGL utilise une page de code personnalisée pour le faire. (la page de codes est liée dans l'en-tête de la réponse)Python 3,
200195191190186 octets-1 octet de dylnan
-4 octets de Rod
Prend une entrée sur stdin.
Essayez-le en ligne!
Explication:
Version festive supplémentaire!
la source
for s in l:print(s,s*x,s)
enregistrer un octet.Pyth ,
113 à107 octetsEssayez-le en ligne!
Pas exactement la version la plus golfée ...
la source
JavaScript (ES6), 180 octets
Tester
la source
JavaScript (ES6),
204201196194192 octetsAfficher l'extrait de code
la source
.--._${(r=x=>x.repeat(N-2))(`_.--.--._`)}_.--.
par${(r=x=>x.repeat(N-1))(`.--.__.--`)}.
N
après le premier appel àr
, mais cela fonctionne très bien.Charbon de bois ,
7874 octetsEssayez-le en ligne! Le lien est vers la version verbeuse du code. Edit: 2 octets enregistrés en simplifiant la façon dont le câblage est imprimé. 2 octets enregistrés car le nouveau code convertit automatiquement l'entrée en entier. Explication:
Imprimez le câblage en prenant la ficelle
.--.__
, en la moulant à la longueur 9, puis en la répétant une fois pour chaque jointure, en terminant par une finale.
avant de passer au début de la ligne suivante pour les ampoules.Boucle sur une chaîne de connecteurs:
(
et)
aux extrémités, etY
s au milieu.Déplacez le caractère droit si c'est la dernière ampoule.
Imprimer le corps de l'ampoule sans déplacer le curseur.
Imprimer le capuchon de l'ampoule, y compris le connecteur.
Aller au début de la prochaine ampoule (un caractère supplémentaire s'il s'agit de la première ampoule).
la source
Excel VBA,
224207205 octetsFonction de fenêtre immédiate VBE anonyme qui prend les entrées de la plage
[A1]
et les envoie à la fenêtre immédiate VBE.Imprime les ampoules ligne par ligne, de haut en bas à droite.
Échantillon I / O
-17 octets grâce à @ YowE3k
-2 octets pour l'ajout d'une variable temporaire
b
la source
: [Rept(B1,A1-2)]
peu avant le début de la boucle n'est pas utilisé.C,
279278272262259 octetsMerci à @NieDzejkob d'avoir économisé six octets!
Essayez-le en ligne!
Déroulé:
la source
PHP,
276,307,303,301,293,283,280, 278 octetsVersion lisible pour les tests:
Vérifiez la version abrégée ici
Vérifiez la version lisible ici
MISE À JOUR
Enveloppé dans une fonction,
la source
\
chiffre précédant le séparateur et ne sauvegarder qu'un caractère. Vous pouvez enregistrer 2 autres caractères en faisant les caractères d'espace partie de la même chaîne plus grande, contenant l'expression au milieu que l' expansion:$a[]=$r($b)." {$r($b,$n)} ".$r($b);
.9
comme délimiteur, aucune évasion n'est nécessaire, probablement cela fonctionne avec d'autres chiffres mais pas0
$r()
fonction lambda comme une régulièrefunction r()
(peut être au même endroit, la fonction est possible). Vous devez corriger l'analyse de la chaîne:" {r("")} "
cela ne fonctionnera pas. -7 octetsJava,
310307300275 octetsMerci à DevelopingDeveloper pour la conversion en une expression lambda
Étendu:
Rechercher des moyens plus courts de multiplier les chaînes et découvrir que les flux sont étonnamment plus prolifiques
Essayez-le en ligne!
la source
String o="";
+o+=" .";
=String o=" .";
j=#
jouer au golf hors des boucles forPropre ,
305292288275 octetsEssayez-le en ligne!
la source
Python 2 (PyPy) ,
365316315251245 octets-21 grâce à FlipTack
-43 grâce aux ovs
-6 merci à M. Xcoder
Essayez-le en ligne!
la source
Kotlin , 261 octets
Embellies
Tester
TIO
TryItOnline
la source
Feuilles Google, 190 octets
Fonction de feuille de travail anonyme qui prend en entrée les plages
A1
et les sorties dans la cellule appelantela source