| Bytes | Lang | Time | Link |
|---|---|---|---|
| 084 | Tcl | 170121T234828Z | sergiol |
| 042 | AWK | 250228T151146Z | xrs |
| 161 | YASEPL | 240223T202201Z | madeforl |
| 076 | TypeScript's type system | 240222T192938Z | noodle p |
| 105 | Go | 221013T034450Z | bigyihsu |
| 034 | Thunno 2 | 230615T174524Z | The Thon |
| 033 | Vyxal | 221013T033127Z | DialFros |
| 033 | Japt | 201118T110038Z | Shaggy |
| 027 | Husk | 201117T154816Z | Razetime |
| 080 | International Esoteric Phonetic Language | 200627T164006Z | bigyihsu |
| 069 | Microsoft Excel | 200626T195554Z | General |
| 097 | FEU | 200626T181151Z | PkmnQ |
| 027 | Stax | 200618T185324Z | recursiv |
| 066 | PHP | 170119T130603Z | aross |
| nan | Perl 5 | 170928T200024Z | Xcali |
| 027 | SOGL V0.12 | 170928T171123Z | dzaima |
| 044 | GolfScript | 170928T170501Z | Erik the |
| 073 | Haskell | 170614T010041Z | Aneesh D |
| 058 | k | 170614T003449Z | zgrep |
| 078 | Python | 170227T125709Z | iwaseate |
| 103 | Common Lisp | 170210T204318Z | user6516 |
| 087 | Racket | 170119T230255Z | Winny |
| 082 | dc | 170218T022847Z | R. Kap |
| 039 | Jelly | 170215T201446Z | PidgeyUs |
| 071 | Cheddar | 170214T181045Z | Pavel |
| 072 | QBIC | 170210T215610Z | steenber |
| 218 | ObjectiveC | 170210T120811Z | Albert R |
| 090 | C++14 | 170206T011953Z | Karl Nap |
| 183 | C++ | 170121T172516Z | GCaldL |
| nan | C++ | 170122T080355Z | BrainSto |
| 067 | PowerShell | 170119T143315Z | briantis |
| nan | C++ | 170119T122744Z | Matthew |
| 071 | C# | 170119T165015Z | TheLetha |
| 063 | Scala | 170121T090846Z | jaxad012 |
| nan | 170120T200328Z | Antoine | |
| 068 | Mathematica | 170119T181242Z | Greg Mar |
| 063 | Mathematica | 170120T134513Z | A Simmon |
| nan | 170119T191608Z | user1893 | |
| 054 | Groovy | 170120T144028Z | Gurupad |
| 111 | C | 170120T080812Z | Ahemone |
| 049 | CJam | 170119T143947Z | Wolfram |
| 068 | Python 3 | 170119T162648Z | AvahW |
| 090 | Clojure | 170119T174416Z | Carcigen |
| 090 | C# | 170119T211407Z | Georg Pa |
| 054 | Stacked | 170119T122916Z | Conor O& |
| 051 | Ruby | 170119T211326Z | Value In |
| 095 | Batch | 170119T200512Z | Neil |
| 088 | PowerShell | 170119T194254Z | mcmurdo |
| 070 | Octave | 170119T184748Z | rahnema1 |
| 070 | Ruby | 170119T170446Z | Twilight |
| 039 | Japt | 170119T162249Z | Oliver |
| 125 | C# | 170119T163101Z | TheLetha |
| 079 | Python | 170119T154611Z | mbomb007 |
| 106 | GameMaker Language | 170119T153942Z | Timtech |
| 037 | V | 170119T140844Z | nmjcman1 |
| 052 | JavaScript | 170119T115121Z | user4180 |
| 084 | Clojure | 170119T143814Z | NikoNyrh |
| 056 | Python 2 | 170119T114722Z | Rod |
| 092 | R | 170119T122147Z | Billywob |
| 091 | Befunge | 170119T133453Z | James Ho |
| 097 | R | 170119T142311Z | Sven Hoh |
| 057 | Perl 6 | 170119T141127Z | smls |
| 051 | Haskell | 170119T135846Z | gntskn |
| 029 | 05AB1E | 170119T122920Z | Emigna |
| 101 | Lua | 170119T121613Z | devRiche |
| 051 | Retina | 170119T122552Z | Martin E |
| 068 | Javascript ES6 | 170119T115145Z | user6403 |
Tcl, 84 bytes
set g [set f "One more LUL and I'm out"]
time {regsub LUL $f \"$g\" f} $argv
puts $f
YASEPL, 161 bytes
=a'(=s)"One more "=u)apostrophe=m)" and I"ſuſ"m out"=x)"LUL"=n=q$34»!a@!sſq!-!m)qſ" and I"ſuſ"m out"=x)"One more LUL"ſ" and I"ſuſ"m out"`1!b;s,a~#x;m,a<
TypeScript's type system, 100 77 76 bytes
type F<N>=`One more ${N extends`1${infer K}`?`"${F<K>}"`:"LUL"} and I'm out`
This is a generic type F<N> where N is a unary number represented by a tuple string (thanks emanresu) type of 1s.
This is not tail recursive, so it only works for N < 50. Here's a tail recursive version which works for N < 1000:
TypeScript's type system, 106 bytes
// @ts-ignore
type F<N,O="LUL",W="">=N extends[1,...infer K]?F<K,`One more ${W}${O}${W} and I'm out`,'"'>:O
Go, 104 82 105 bytes
func f(n int)string{if n<0{return"LUL"}
q:=``
if n!=0{q=`"`}
return`One more `+q+f(n-1)+q+` and I'm out`}
- -22 bytes by @Steffan: string concat instead of
Sprintf - +23 bytes to follow spec (n=0 has no quotes)
Thunno 2, 34 bytes
ʋLULs{‘"One Ḍḋ % and I'm out"‘Œ}ḣṫ
Explanation
ʋLULs{‘...‘Œ}ḣṫ # Implicit input
ʋLUL # Push the string "LUL"
s # Swap so the input is back on top
{ } # Repeat input number of times:
‘...‘ # Push compressed template string
# `"One more % and I'm out"`
Œ # Replace the "%" with the
# next item on the stack
ḣṫ # Remove the first and last characters
# Implicit output
Husk, 27 bytes
!¡σ"LUL"s₁₁
¨Ønø LULÄdİ'møo
Does infinite replacement of LUL and indexes into it.
1-indexed.
International Esoteric Phonetic Language, 80 bytes
<f>/qubʌɔ|a|"\""u1z<f>"\""uɔ|b||a|ʍu|b|ɖbuʈ\"LUL"w" and I'm out""One more "ɪ<f>""o
Recursive implementation that decrements the input number when recursing.
Explanation:
<f>/qubʌɔ|a|"\""u1z<f>"\""uɔ|b||a|ʍu|b|ɖbuʈ\"LUL"w" and I'm out""One more "ɪ<f>""o
<f>/ (fun def)
qu (one more)
bʌɔ|a| (if index == 0, continue, else jump to else)
"\""u (quote)
1z (decrement index)
<f> (recurse)
"\""u (quote)
ɔ|b| (skip to end)
|a| (else)
ʍu (LUL)
|b| (end)
ɖbuʈ\ (and i'm out)
"LUL"w (wegister going wwww LUL)
" and I'm out""One more " (strings)
ɪ<f> (input and call)
""o (print newline)
Microsoft Excel, 69
Cells:
A1- inputA2-One more "A3-" and I'm outA4-""(Otherwise I'd have to escape them)- Wherever -
=SUBSTITUTE(REPT(A2,A1)&REPT(A3,A1),A4,"LUL"
FEU, 107 97 bytes
Ep/v
a/One more LUL and I'm out
EP/v
u/a
/a/g
Ep/v
s/LUL/"One more LUL and I'm out"
EP/v
end
Ep/v
Stax, 27 bytes
âΔ▓♥CPM9C"4█é¢┐╥äΔ↔╖◄b)►┤≤▐
This is a recursive program that decrements the input on each call.
I discovered a bug in stax writing this program. I'll fix the bug sooner or later, but I won't incorporate it into this solution, as it seems unsporting to me.
PHP, 69 66 bytes
Note: uses IBM-850 encoding
for($o=LUL;~$argn--;$d=~¦)$o="One more $d$o$d and I'm out";echo$o;
Run like this:
echo 2 | php -nR 'for($o=LUL;~$argn--;$d=~¦)$o="One more $d$o$d and I'"'"'m out";echo$o;';echo
> One more "One more "One more LUL and I'm out" and I'm out" and I'm out
Explanation
for(
$o=LUL; # Start with output string "LUL".
~$argn--; # Loop until N is -1.
$d=~¦ # Set delimiter to `"` after first
# iteration.
)
$o="One more $d$o$d and I'm out"; # Add text with previous output
# embedded, between delims.
echo$o; # Output resulting string.
Perl 5, 55 + 1 (-p) = 56 bytes
$_='"One more 'x++$_.LUL.' and I\'m out"'x$_;s/^.|.$//g
GolfScript, 44 bytes
~"LUL"\{'"One more
and I\'m out"'n/*}*(;);
1-indexed.
Explanation:
~"LUL"\{'"One more \n and I\'m out"'n/*}*(;); ("\n" is a newline)
~ Eval (input is the only stack element on program start)
"LUL" Push "LUL"
\ Swap
{'"One more \n and I\'m out"'n/*} Push block:
'"One more \n and I\'m out"' Push "\"One more \n and I'm out\""
n Push n (default: newline)
/ Split
* Join
* Repeat block
( Pop first element and push to stack
; Pop
) Pop last element and push to stack
; Pop
Haskell - 73 bytes
n!s=[1..n]>>s
f n=init(n!"One more \"")++" LUL"++tail(n!"\" and I'm out")
I wonder if there something I could use besides init and tail to save a few bytes.
k, 58 bytes
Indexing starts at 0. This is a recursive function.
`0:`c${"One more ",$[x;34,o[x-1],34;"LUL"]," and I'm out"}
Python, 78 bytes
f=lambda n:'One more "'*(n-1)+"One more LUL and I'm out"+'" and I\'m out'*(n-1)
Common Lisp, 90 89 108 105 103 bytes
(set's"One more LUL and I'm out")(dotimes(n(read)(princ s))(set's(format()"One more ~a and I'm out"s)))
Other solution (91 bytes)
Using Winny's solution in Racket (my is not exact copy)
(defun l(n)(if(< n 0)'LUL(format()"One more ~:[~a~;\"~a\"~] and I'm out"(> n 0)(l(1- n)))))
usage:
(format t"~a"(l 2))
Ideas for improvement are welcomed.
Racket, 88 87 bytes
(define(f n)(format"One more ~a and I'm out"(if(= n 0)'LUL(format"\"~a\""(f(- n 1))))))
Ungolfed
(define (f n)
(format "One more ~a and I'm out"
(if (= n 0)
'LUL
(format "\"~a\"" (f (- n 1))))))
Unit tests
(module+ test
(require rackunit)
(check-equal? (f 0) "One more LUL and I'm out")
(check-equal? (f 1) "One more \"One more LUL and I'm out\" and I'm out")
(check-equal? (f 2) "One more \"One more \"One more LUL and I'm out\" and I'm out\" and I'm out")
(check-equal? (f 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"))
dc, 82 bytes
?dsasw[[LUL ]P]se[34dP]sr[lalw>r[One more ]nlad1-dsar1=e0<y[and I'm out]nP32P]dsyx
Might as well add an answer in dc. This is 1-indexed.
Jelly, 39 bytes
First Jelly submission! Can probably slice off a few by encoding the strings, but I couldn't get it working with the spaces yet.
“"One more ”;;“ and I'm out"”
“LUL”Ç¡ḊṖ
A 0-indexed version needs an additional Ç after the Ç¡.
Explanation will follow soon!
Cheddar, 71 bytes
i->('One more "'*i).slice(0,-1)+'LUL '+('and I\'m out" '*i).slice(0,-2)
QBIC, 72 bytes
:[a|X=X+@One more `+chr$(34)┘Z=Z+chr$(34)+@ and I'm out`]Z=X+A+@LUL`+B+Z
The chr$(34) for the quotes is particularly costly, I need to fix a bug in the interpreter to make them work inside a string literal...
Sample output:
Command line: 0
One more LUL and I'm out
Command line: 3
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
Objective-C, 218
#define p NSString stringWithFormat
-(NSString *)f:(int)a{NSString *o=@"One more ",*k=@" and I'm out",*i=[p:@"%@LUL%@",o,k],*s=@"";for(int j=-a;a-->j+1;s=[p:@"%@\"%@",s,a>0?o:a<0?k:i]);return [s substringFromIndex:1];}
Not the most beautiful language to golf in, but I had fun
C++14, 90 bytes
As unnamed lambda modifying its input. Requires s to be std::string or alike.
[](auto&s,int i){s="LUL",++i;for(char c=0;i--;s="One more "+(c+s+c)+" and I'm out",c=34);}
Ungolfed and usage:
#include<string>
#include<iostream>
auto f=
[](auto&s,int i){
s="LUL",++i; //set basic LUL
for(
char c=0; //first string concat without quotes
i--;
s="One more "+(c+s+c)+" and I'm out", //string concat
c=34 //set c to "
);
}
;
int main(){
std::string s;
f(s,0);
std::cout << s << std::endl;
f(s,1);
std::cout << s << std::endl;
f(s,2);
std::cout << s << std::endl;
f(s,3);
std::cout << s << std::endl;
}
C++, 183 bytes
Simply input N times you want 'One more LUL' nested.
#include <iostream>
#include <string>
#define s string
using namespace std;main(){int N;cin>>N;s a="LUL";s b="One more \"";s c="\"and I'm out";for(int i=0;i<N;i++){a=b+a+c;}cout<<a;}
C++, 80 + 16 = 96 bytes
std::string L(int c){return"One more "+(c?'"'+L(--c)+'"':"LUL")+" and I'm out";}
#include<string> - +16
Ungolfed:
std::string LUL(int count) {
return "One more " + (count? ('"' + LUL(--count) + '"') : "LUL") + " and I'm out";
}
Calls itself recursively and uses string addition. Pretty straight forward. I mean what else can I say? Even the ungolfed version is essentially a one liner.
PowerShell, 72 67 bytes
"$('"One more '*($c=1+"$args"))LUL$(' and I''m out"'*$c)".Trim('"')
C++, 118 + 16 = 134 bytes
auto L(int x){std::string k="One more LUL and I'm out",r=k;for(int i=0;i++<x;)r.replace(i*10-1,3,'"'+k+'"');return r;}
#include<string> - +16
replaces "LUL" to the whole string N times.
Anyone has better golfs?
Massive thanks to Kritixi Lithos and hvd, for, uh, Massive help.
C#, 119 85 71 bytes
string m(int n)=>$"One more {(n<1?"LUL":$"\"{m(--n)}\"")} and I'm out";
Saved 14 bytes thanks to @Luc
Scala, 63 bytes
(n:Int)=>("One more \""*n init)+"LUL"+("\" and I'm out"*n tail)
1-indexed
PHP
Hello, i found so far two ways for doing this.
The replacement way 1-indexed (121 bytes).
function f($x){$v='One more LUL and i\'m out';$t=$v;for($i=1;$i<=$x;$t=str_replace('LUL','"'.$t.'"',$v),$i++);return $t;}
The recursive way (86 bytes).
function r($n){$v=($n==0)?'LUL':'"'.r($n-1).'"';return'One more '.$v.' and i\'m out';}
Mathematica, 69 68 bytes
Thanks to Martin Ender for saving 1 hard-to-find byte!
""<>Nest[{q="\"",{"One more ",#," and I'm out"},q}&,"LUL",#+1][[2]]&
Unnamed function taking a nonnegative integer argument and returning a string. Nest applies a function repeatedly to an initial argument; in this case, the function is to surround its argument by the appropriate words and quotation marks. We start from "LUL" and iterate N+1 times; that results in unwanted quotation marks enclosing the entire phrase, but [[2]] keeps only the stuff between them. At the end, ""<> turns the resulting heavily nested list into a single string.
Previous submission:
""<>Nest[{o,q="\"",#,q,a}&,{o="One more ","LUL",a=" and I'm out"},#]&
Mathematica, 65 63 Bytes
Nest["\"One more "<>#<>" and I'm out\""&,"LUL",#]~StringTrim~_&
Two bytes off by noticing the challenge allows 1-indexing.
Java, 79 77 bytes
Golfed:
String f(int l){return"One more "+(l<1?"LUL":'"'+f(l-1)+'"')+" and I'm out";}
Ungolfed, with test:
public class OneMoreLulAndImOut {
public static void main(String[] args) {
OneMoreLulAndImOut obj = new OneMoreLulAndImOut();
for (int i = 0; i < 8; ++i) {
System.out.println(Integer.toString(i) + ": " + obj.f(i));
}
}
String f(int l) {
return "One more " + (l < 1 ? "LUL" : '"' + f(l - 1) + '"') + " and I'm out";
}
}
Program output:
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
3: 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
4: 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
5: 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
6: 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
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
Groovy, 54 bytes
{x->('"One more '*x+'LUL'+' and I\'m out\"'*x)[1..-2]}
Pretty straightforward, same as the python answer but 2 bytes shorter. It is also 1-indexed.
C, 140 111 bytes
My first attempt at a golfing question.. Golfed:
#define F printf(
#define P 1&&putchar(34)
int a=0;void q(n){a=a?a:n,n?n>0?F"One more "),n-P:n?n+P,F" and I'm out"):0:F"LUL"),n+a?q(n-1):0;}
I have come to realise is the wrong output since q(0) just gives LUL. The next attempt:
#define o(Q) O(Q,n?34:0);
#define O printf
void q(int n){o("One more %c")n?q(n-1):O("LUL"),o("%c and I’m out")}
Example program (tested with GCC on OSX):
#define o(Q) O(Q,n?34:0);
#define O printf
void q(int n) {o("One more %c")n?q(n-1):O("LUL"),o("%c and I’m out")}
int main() {
q(0),putchar('\n');
q(1),putchar('\n');
q(2),putchar('\n');
q(3),putchar('\n');
return 0;
}
Gives output
One more LUL and I’m out
One more "One more LUL and I’m out" and I’m out
One more "One more "One more LUL and I’m out" and I’m out" and I’m out
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
CJam, 51 49 bytes
" and I'm out\"""\"One more "li1+_@*"LUL"+1>@@*W<
Ungolfed:
" and I'm out\"" "\"One more " // Push two strings to the stack
l i 1 + // Read a number and add 1
_ @ // Copy number and rise '"One more ' to the top
* // Multiply '"One more ' by a number
"LUL" + // Add "LUL"
1> // Chop the first quote
@@ // Push the result down
* // Multiply ' and I\'m out"' by a number
W< // Chop the last quote
Python 3, 68 Bytes
def f(a):return('"One more '*a+'LUL'+(' and I%sm out"'%"'")*a)[1:-1]
Clojure, 90 bytes
(fn c[n](if(= n -1)"LUL"(let[q(if(> n 0) \")](str"One more "q(c(dec n))q" and I'm out"))))
Written and golfed on my phone on a soft keyboard using the "Clojure REPL" app. That was sure a treat.
Explicitly recursive solution. Inserts the results of recursing into the "template string".
Pregolfed:
(defn lul [n]
(if (= n -1)
"LUL"
(let [quote? (if (> n 0) \")]
(str "One more "
quote? (lul (dec n)) quote?
" and I'm out" ))))
C#, 102 90 bytes
string l(string s,int n){return n<0?s.Substring(1,s.Length-2):l($"\"One more {s} and I'm out\"",--n);}
Recursive, call with l("LUL",7);
EDIT
Thank you for pointing out that it is illegal to pass input not specified in the challenge. Here is the fixed version that only takes an integer N:
string l(int N){return N<0?"":$"One more \"{l(--N)}\" and I'm out".Replace("\"\"","LUL");}
Stacked, 54 bytes
('"One more ' ' and I''m out"')*'LUL'join'^.|.$'εrepl
Try it here! Example usage of "function":
1
('"One more ' ' and I''m out"')*'LUL'join'^.|.$'εrepl
out
One for 56 bytes:
@n'One more LUL and I''m out':@o['LUL' '"'o'"'+ +repl]n*
Batch, 95 bytes
@set s=LUL
@for /l %%i in (0,1,%1)do @call set s="One more %%s%% and I'm out"
@echo %s:~1,-1%
0-indexed, because that means it works even if you forget to pass a parameter. (The 1-indexed version would just print U in that case, which looks silly.)
PowerShell, 88 bytes
for($d=($s="One more LUL and I'm out");$i++-lt$args[0]){$d=$d.Replace("LUL","`"$s`"")}$d
Octave, 72 70 bytes
@(n)[{'"One more '}{o=!(1:n)+1} "LUL " {"and I'm out\" "}{o}](2:end-2)
1 based index
Ruby, 70 bytes
def l x,t="LUL";x.times{t='"One more %s and I\'m out"'%t};t[1..~1];end
Simply loops for the amount it's given, surrounding the last string via a format string each time.
Index starts at one.
C#, 125 bytes
n=>{string f="One more {0} and I'm out",s=f;for(int i=0;i++<n;)s=string.Format(s,$"\"{f}\"");return string.Format(s,"LUL");};
Python, 79 bytes
I just wanted to do a recursive solution, even though it's longer than other answers.
x='"One more %s and I\'m out"'
f=lambda n,s=x:n and f(n-1,s%x)or(s%"LUL")[1:-1]
GameMaker Language, 106 bytes
1-indexed
s='LUL'for(a=0,a<argument0;a++)s='"One more '+s+" and I'm out\""return string_copy(s,2,string_length(s)-2)
V, 39 37 bytes
Two bytes with the help of @KritixiLithos for coming up with the substitution method
iOne more LUL and I'm outÀñÓLUL/"."
Hexdump:
00000000: 694f 6e65 206d 6f72 6520 4c55 4c20 616e iOne more LUL an
00000010: 6420 4927 6d20 6f75 741b c0f1 d34c 554c d I'm out....LUL
00000020: 2f22 122e 22 /".."
JavaScript, 57 56 54 52 bytes
f=q=>`One more ${q?`"${f(q-1)}"`:"LUL"} and I'm out`
Test Snippet:
f=q=>`One more ${q?`"${f(q-1)}"`:"LUL"} and I'm out`
<input type=number min=0 oninput=o.textContent=f(+this.value)>
<p id=o>
For some reason the snack snippet is being buggy when the input is 0, but this works otherwise. Call it like f(4).
Explanation
f=q=> //declares a function f with argument q
`One more ... and I'm out` //hardcoded string
${q?`"${f(q-1)}"`:"LUL"} // does recursion based on q
// if q is true, ie not 0, recurse
// else return "LUL"
Clojure, 84 bytes
#(nth(iterate(fn[s](str"One more \""s"\" and I'm out"))"One more LUL and I'm out")%)
Argh why isn't the first LUL in quotes? :( Almost correct in 63 bytes:
#(nth(iterate(fn[s](str"One more \""s"\" and I'm out"))"LUL")%)
Python 2, 56 bytes
lambda x:('"One more '*x+'LUL'+' and I\'m out"'*x)[1:-1]
Try it online!
It is 1-indexed
R, 100 97 92 bytes
"One more recursive function and I'm out"
f=function(n)paste("One more",`if`(n<1,"LUL",paste0('"',f(n-1),'"')),"and I'm out");cat(f(scan()))
Edit: Turns out that a non-recursive approach is slightly shorter:
x="One more ";y=" and I'm out";cat(x,rep(c('"',x),n<-scan()),"LUL",rep(c(y,'"'),n),y,sep="")
Befunge, 91 bytes
&:00p10p>"tuo m'I dna "1v
09p00-1<^g09p01-1_v#:g0<<vg
>>00g:#^_$>:#,_@ >$"LUL">" erom enO"
This is a breakdown of the source code with the various component parts highlighted.

We start by reading the repeat count N, and storing two duplicates of it in memory.
We then countdown the first N, pushing multiple copies of " and I'm out" onto the stack in reverse. Each additional copy is separated from the one before with a quote. The quote is generated with the sequence 90g (basically reading a copy from the first line of the source), since that's the shortest way to do so.
Once this first loop is complete, we push "LUL" onto the stack (technically this is in reverse, but it obviously makes no difference when it's a palindrome).
Then we have another loop, wrapping across the right border, over to the left of playfield, and then back again. This time we're counting down the second N, pushing multiple copies of "One more " onto the stack (again in reverse). And again, each additional copy is separated from the one before with a quote.
Once the second loop is complete, the entire phrase is now on the stack (in reverse), so we simply need to write it out.
R, 97 bytes
function(n){s="One more LUL and I'm out";while(n){s=sub("LUL",paste0('"',s,'"'),s);n=n-1};cat(s)}
Ungolfed:
function(n) {
s = "One more LUL and I'm out";
while(n) {
s = sub("LUL", paste0('"', s, '"'), s);
n = n - 1
};
cat(s)
}
Perl 6, 57 bytes
{substr "\"One more "x$_~"LUL"~" and I'm out\""x$_,1,*-1}
Slightly more interesting, but 58 bytes:
{join "LUL",("One more "," and I'm out"Xxx$_)».join('"')}
Haskell, 51 bytes
Indexes from 1.
f 0="LUL";f n="One more \""++f(n-1)++"\" and I'm out"
05AB1E, 30 29 bytes
…LULIF“"One€£ ÿ€ƒ I'm€Ä"“}}¦¨
Different string-types doesn't seem to mix well, so for some reason I need to end the loop twice.
Lua, 101 bytes
i,f,g='"One more ',' and I\'m out"',io.read()+1 print((i:rep(g).."LUL"..f:rep(g)):sub(2,g*24-(g-2)))
Obvious string attempt. Repeats "One more and and I'm out" exactly input + 1 times, with a LUL inbetween, then removes first and last quote.
Javascript (ES6), 68 Bytes
f=(x,y="LUL")=>~x?f(--x,`"One more ${y} and I'm out"`):y.slice(1,-1)
Call like f(n).
You can also call it like f(n, "LUL") and replace LUL with any word you wish.