Description du challenge
Sur certains canaux d’un site de diffusion en continu très répandu, twitch.tv, un message courant a tendance à provoquer des spams dans les chats pour les inciter à envoyer du spam "LUL".
One more LUL and I'm out
LUL est un émote populaire utilisé pour exprimer le fait que quelque chose de drôle est arrivé en direct.
Bientôt, les mèmes humides montrèrent leur potentiel et une parodie des copies-pâtes s’en suivit:
One more "One more LUL and I'm out" and I'm out
Quel est le même message imbriqué en soi. Pour un nombre entier non négatif N
, les N
temps imbriqués LUL-pasta en sortie suivent le modèle ci-dessous.
Les règles standard de code-golf s'appliquent, le code le plus court en octets l'emporte.
Échantillon entrée / sortie
0: One more LUL and I'm out
1: One more "One more LUL and I'm out" and I'm out
2: One more "One more "One more LUL and I'm out" and I'm out" and I'm out
...
7: One more "One more "One more "One more "One more "One more "One more "One more LUL and I'm out" and I'm out" and I'm out" and I'm out" and I'm out" and I'm out" and I'm out" and I'm out
Remarques
- Les retours à la ligne sont autorisés
- La capitalisation doit être préservée
- Votre code peut être un programme complet ou une fonction
- Au lieu d'imprimer, vous pouvez retourner une chaîne ou son équivalent dans la langue de votre choix
- Vous pouvez indexer à partir
1
de0
"
au début et à la fin aussi?You Only YOLO once --> YOYOLOO. You Only YOYOLOO Once --> YOYOYOLOOO
Réponses:
Python 2 , 56 octets
Essayez-le en ligne!
Il est indexé 1
la source
[1:-1]
la fin limite les guillemets au début et à la fin?JavaScript,
57565452 octetsExtrait de test:
Pour une raison quelconque, l'extrait de collation est bogué lors de la saisie
0
, mais cela fonctionne autrement. Appelez ça commef(4)
.Explication
la source
input
s’agit d’un attribut HTML non valide, vous voudrez peut-être l’enlever. Deuxièmement, c’est parce qu’il prend l’entrée sous forme de chaîne, pas de nombre. Il en"0"
va de même0
pour la vérité. Le moyen le plus simple de gérer cela consiste à mettre un+
devantthis.value
lorsque vous le passez.input
champ supplémentaire :).replace
.Befunge, 91 octets
Essayez-le en ligne!
Il s’agit d’une répartition du code source avec les différents composants en surbrillance.
Nous commençons par lire le nombre de répétitions N et en stockant deux copies en mémoire.
Nous comptons ensuite le premier N , poussant plusieurs copies de "and I'm out" sur la pile en sens inverse. Chaque copie supplémentaire est séparée de la précédente par un devis. La citation est générée avec la séquence
90g
(en lisant une copie de la première ligne de la source), car c’est le moyen le plus rapide de le faire.Une fois cette première boucle terminée, nous poussons "LUL" sur la pile (techniquement, c'est l'inverse, mais cela ne fait évidemment aucune différence lorsqu'il s'agit d'un palindrome).
Nous avons ensuite une autre boucle, qui passe au-delà du bord droit, à gauche du champ de jeu, puis revient. Cette fois, nous comptons sur le deuxième N, en poussant plusieurs copies de "One more" sur la pile (à nouveau en sens inverse). Et encore une fois, chaque copie supplémentaire est séparée de la précédente par un devis.
Une fois que la deuxième boucle est terminée, la phrase entière est maintenant sur la pile (en sens inverse), nous avons donc simplement besoin de l'écrire.
la source
"
. Merci pour l'explication05AB1E ,
3029 octetsEssayez-le en ligne!
Différents types de chaînes ne semblent pas bien se mélanger, donc, pour une raison quelconque, je dois terminer la boucle deux fois.
la source
C ++, 118 + 16 = 134 octets
#include<string>
- +16remplace "LUL" par toute la chaîne N fois.
Quelqu'un a de meilleurs golfs?
Essayez-le en ligne!
Merci beaucoup à Kritixi Lithos et à hvd pour leur aide massive.
la source
<string>
déclaration d'importation dans le décompte, vous ne savez pas tropfor(int i=0;i<x;i++)
àfor(int i=0;i++<x;)
r.find("L")
est plus court quer.find("LOL")
de 2 octets :)Javascript (ES6), 68 octets
Appelle comme
f(n)
.Vous pouvez également l'appeler comme
f(n, "LUL")
et remplacer LUL par n'importe quel mot.la source
V ,
3937 octetsDeux octets à l’aide de @KritixiLithos pour la création de la méthode de substitution
Essayez-le en ligne!
Hexdump:
la source
Java,
7977 octetsGolfé:
Ungolfed, avec test:
Sortie du programme:
la source
"\""
en'"'
(caractère unique) pour économiser 2 octets.Python, 79 octets
Je voulais juste faire une solution récursive, même si elle est plus longue que les autres réponses.
Essayez-le en ligne
la source
C #, 125 octets
la source
Format
...string
pourvar
enregistrer deux octets.C,
140111 octetsMa première tentative à une question de golf .. Golfed:
Je me suis rendu compte que la sortie est mauvaise puisque q (0) donne simplement LUL. La prochaine tentative:
Exemple de programme (testé avec GCC sur OSX):
Donne la sortie
la source
Mathematica,
6968 octetsMerci à Martin Ender pour avoir sauvegardé 1 octet difficile à trouver!
Fonction sans nom prenant un argument entier non négatif et renvoyant une chaîne.
Nest
applique une fonction à plusieurs reprises à un argument initial; dans ce cas, la fonction doit entourer son argument des mots et des guillemets appropriés. Nous commençons"LUL"
et itérons desN+1
temps; il en résulte que des guillemets indésirables englobent la phrase entière, mais[[2]]
ne gardent que les éléments entre eux. À la fin,""<>
transforme la liste fortement imbriquée résultante en une seule chaîne.Soumission précédente:
la source
LUL
:""<>Nest[{q="\"",{"One more ",#," and I'm out"},q}&,"LUL",#+1][[2]]&
[[2]]
! Voilà comment contourner ces premières citations non désirées: DC #,
1198571 octets14 octets sauvés grâce à @Luc
la source
string.Format
et les imbriquerRetina , 51 octets
Essayez-le en ligne!
la source
R, 97 octets
Ungolfed:
la source
R,
100 9792 octets"Encore une fonction récursive et je suis absent"
Edit: Il s'avère qu'une approche non récursive est légèrement plus courte:
la source
Japt , 39 octets
Merci @ETHproductions pour votre aide.
Essayez-le ici!
la source
Ruby, 51 octets
Un indexé. Essayez-le en ligne
la source
PowerShell ,
72 à67 octetsEssayez-le en ligne!
la source
"$('"One more '*($c=1+"$args"))LUL$(' and I''m out"'*$c)".Trim('"')
rasés 5 à l'aide d' une garniture () au lieu d'une jointure pour sauter la fin"
« sLua, 101 octets
Tentative évidente. Répète
"One more
et saisitand I'm out"
exactement + 1 fois, avec unLUL
entre-deux, puis supprime la première et la dernière citation.la source
Haskell, 51 octets
Index de 1.
la source
LUL
guillemets.f -1="LUL"
, mais je ne vois pas comment supprimer des guillemets supplémentaires sans un tas de nouveaux symboles.Ruby, 70 octets
Boucle simplement pour le montant donné, entourant la dernière chaîne via une chaîne de format à chaque fois.
L'index commence à un.
la source
Empilé, 54 octets
Essayez-le ici! Exemple d'utilisation de "fonction":
Un pour 56 octets:
la source
Python 3, 68 octets
def f(a):return('"One more '*a+'LUL'+(' and I%sm out"'%"'")*a)[1:-1]
la source
*a
au lieu de*5
?CJam,
5149 octetsEssayez-le en ligne
Ungolfed:
la source
W
au lieu de -1 pour enregistrer un octet\"
en utilisant une seule chaîne et en ajoutant le"
pour les deux bouts avec`
. Ensuite, j'ai eu besoin de scinder la chaîne, ce que je ne pouvais pas faire avec une longueur et/
parce que la première partie est plus courte. J'ai donc utilisé un saut de ligne comme séparateur et je l'ai faitN/
. Puisque nous avons maintenant les deux parties dans une liste, nous pouvons facilement les répéter en même temps avecf*
. Et leLUL
est inséré à la fin avec un simple join (*
).Groovy, 54 octets
Assez simple, identique à la réponse python mais 2 octets plus court. Il est également indexé 1.
Essayez-le en ligne!
la source
Mathematica,
6563 octetsDeux octets en remarquant que le défi permet une indexation 1.
la source
PHP
Bonjour, j'ai trouvé jusqu'à présent deux façons de le faire.
Le moyen de remplacement indexé 1 (121 octets) .
La manière récursive (86 octets) .
la source
C ++, 80 + 16 = 96 octets
#include<string>
- +16Ungolfed:
S'appelle de manière récursive et utilise l'addition de chaînes. Assez simple. Je veux dire quoi d'autre puis-je dire? Même la version non-golfée est essentiellement un one-liner.
Essayez-le en ligne!
la source
Cheddar , 71 octets
Essayez-le en ligne!
la source
_ f ->
syntaxe qui vous permettra d'économiser quelques octets