text:
Do you know that language?
Task:
Your challenge is, given previous submissions and itself as input, output the language that they're written in, in the following format:
Say the first program is in Ruby. It must output 1, because Ruby is the 1st language used in this challenge. An example program is:
a=gets
puts 1

When given itself as input, it returns 1.
The next program might be in Python. It must output 2, because Python is the 2nd language used in the challenge. An example program is:
print(1 if input()[0]=="a"else 2)

Given the first submission, it outputs 1, and given itself it outputs 2.
You're allowed to repeat languages, though you're not allowed to submit an answer in the previous answer's language.
For example, if the third program is in Ruby, it must output 1 given the first program and itself (because Ruby is the 1st language used), and given the second program it must output 2.

Rules:

If there are n answers currently in the challenge, there must be at least floor(n / 3) different languages. Any submission that breaks this rule is disqualified.
No two "neighbouring answers" (e.g. answer n and answer n+1) cannot use the same language.
Different versions of a language do not count as different languages (so Python 2 == Python 3).
Answers must take previous submissions in full as input.
The first submission must take input.
You are not allowed to submit multiple answers in a row.
"Repeat answers" (answers that have the exact same code as a previous submission) are not allowed.
Answers are not allowed to go over the allocated byte-count of that answer - see "Allocated Byte-count" for more details.

Allocated Byte-count:
For each answer number n, the allocated byte-count for that answer is 45 + 5n.

Answer formatting:
Format your answer like so:
# {answer no.}, {language}
{program}
This prints:
- `1` in answer(s) {all answers using 1st language, with links}
- `2` in answer(s) {all answers using 2nd language, with links}
...
{optional explanation}

For the answer lists, do this:
- `1` in answers [1]({link to answer}), [3]({link to answer})...

Scoring:
The first answer to survive after 7 days without any valid submissions after that is declared the winner.

Can one user post two consecutive submissions in a row?

So, as it stands, I could repeat as is, without any changes, my answer n°6 as answer n°8, after which Martin could repeat his number n°7 (unless I'm mistaken) etc. until answer n°15 before reaching the imposed threshold (i. e. floor(n / 3) languages). I'm guessing this is not intended behaviour.

@plannapus I noticed this as well. Of course, your goal is to have the last answer, so knowing that I would have a trivial follow-up too you might want to complicate things (which I didn't think about before posting my own answer).

You should remove the section in the question for Answer Format. Nobody's even doing it.

Also, someone should make a Bash test program like this challenge has.

Allocated byte count grows in geometrical progression, and probably these challenge will not terminate until we run out of languages, not because the code will become too long.

TIP: Sort the answers by oldest.

A 64 bit checksum, when encoded as Base64 takes 10 bytes, which means that if someone implements a checksum based solution around answer ~11-12, it can then be replicated infinitely (or until a collision, which is rather improbable) by simply appending +1 checksum to it.

IMO a reasonable fixed limit (e.g. 384 or 256 bytes), would have worked better, and would trigger a tight competition at the end.

Everyone: thanks for the tips! Sorry I couldn't get to your suggestions sooner, I will implement them ASAP.

Note that the new byte-count thing doesn't invalidate any current answers.

26. ><> (language 12), 164 bytes
My first ever program in ><>! It's 156 characters, but 164 bytes in UTF-8.
^$|(?![⊂⍴])[⊂-⍴]|\B=|{}
{:}&1+&=?v
      .&0/
v+!?='>'i41i
v+?='y'i47
v+?=' 'i12
v+?=' 'i24
v4
v6
v7
v8
v9
va
  v?(0:i
v1
n;\b1laa*)?+
/"^mwfPes{'tc"i2&01.;

This prints:

1 with answers 1, 5, 7, 9, and 14 (Retina).

2 with answer 2 (Brain-Flak).

3 with answer 3 (APL).

4 with answers 4, 12, and 15 (Javascript).

5 with answers 6 and 8 (R).

6 with answers 10, 17, 20, 22, and 25 (Bash).

7 with answers 11 and 19 (Mathematica).

8 with answer 13 (Python).

9 with answer 16 (Perl).

10 with answers 18, 21, and 23 (C/C++).

11 with answer 24 (Zsh).

12 with this answer (><>).

Try it online!
Explanation:
The first line is simply answer #5. It does nothing but send the instruction pointer to the bottom line.
/ turns the fish right, and the characters ^mwfPes{'tc are put on the stack. A single character of input is read (i). (Let's call this character C for exposition.) 2 is put in the register (2&). Then we jump to the beginning of the second line (line 1) (01.).
This line compares C to each character on the stack.
A copy of C is kept on the bottom of the stack. { rotates the stack so C is on top; : duplicates it; } rotates the copy back to the bottom.
We increment the register (&1+&) until a match is found.
(So if C is "c", the register holds 3 when the match is found; if C is "t", the register holds 4, and so on.)
Then we jump to the first character of the line number in the register (0&.).
Lines 3 through 13 deal with what to do when C is c, t, ', {, etc., respectively. The instruction pointer is moving backwards when we jump; it lands on the first character of the given line, but after a jump it advances a tick before executing, so it begins executing from the end of the line going backward. Each line pushes the appropriate language number on the stack, then sends the fish down to the n instruction, which prints it out.
^ is the most complicated case, because of my own dastardliness with the first line of this answer. Line 13 reads input until EOF. Then it directs down to line 15, which compares the length of the stack (l) to 100 (aa*). If it is longer ()?), we add + b and 1 to get 12, this language; otherwise, 1 remains on top of the stack.

1. Retina, 0 bytes

Try it online!
The empty program prints 1 when given empty input (i.e. itself), because it counts how often the empty regex matches the input (which is always 1+length(input)).

2. Brain-Flak, 22 bytes
{<>(())(<>)}{}(<>{}())

Try it online!
This checks the top of the stack and puts a one on the opposite stack if it is non-zero.  It then increments and returns the opposite stack.  This makes it return 1 for the empty program and 2 for anything else.
Since stacks in Brain-Flak default to zero, an empty program will have a zero on the top of the stack while any other program (except programs which end in null characters) will have a truthy value.  This means we can run a very simple if program on the input stack.
{      (<>)}{}              #If not zero
 <>(())                     #Push one to the other stack
              (<>{}())      #Switch to other stack and increment by one

Could you edit this answer? I accidentally down voted it :)

3. APL, 7 bytes
' {'⍳⊃⍞

Explanation:
      ⍞  read from the keyboard
     ⊃   first item of list, or space if empty
' {'⍳    index into the string ' {', giving N+1 (=3) if not found

10. Bash (+coreutils) [language 6], 44, 74  bytes
Fixed Version (returns the language id)
expr substr "1234151516" $(expr index "365f8dc0eb" `md5sum|cut -c12`) 1 #G

Note: this expects the trailing newline, after the input program text

18. C (language 10), 121 bytes
This is the C89 or C90 standard. It works with either clang or gcc on Try It Online.
main(n){char*v=" ^{ s ePfwm",b[999],*c;gets(b);c=strchr(v,*b);n=strlen(b);printf("%d",n?c?c-v:n>99?4:n>60?5:n>15?1:3:1);}

This prints:

1 with answers 1, 5, 7, 9, and 14 (Retina).

2 with answer 2 (Brain-Flak).

3 with answer 3 (APL).

4 with answers 4, 12, and 15 (Javascript).

5 with answers 6 and 8 (R).

6 with answers 10 and 17 (Bash).

7 with answer 11 (Mathematica).

8 with answer 13 (Python).

9 with answer 16 (Perl).

10 with this answer (C).

Here is a bash driver that runs it with all 18 answers on Try it online!
Ungolfed equivalent (646 bytes):
#include <string.h>
#include <stdio.h>
int main(){
    char *v=" ^{ s ePfwm", b[999];
    gets(b); /* buffer overrun if more than 998 characters in the input.
                could be a problem if we get to 191 answers */
    char *c = strchr(v, b[0]); /* Find first character of input in v, or null */
    int n = strlen(b);
    if (!n) {
        printf("1");
    } else if (c) {
        printf("%d", c-v); /* Index of first character of input in v */
    } else if (n > 99) {
        printf("4");
    } else if (n > 60) {
        printf("5");
    } else if (n > 15) {
        printf("1");
    } else {
        printf("3");
    }
    return 0;
}

9. Retina (language 1), 20 bytes
$|}\{|[:'][^]']|,\b1

Try it online!
Like plannapus, I decided to go for a rewrite to switch things up a bit, which also ended up shortening the code considerably (a modification of my last answer to account for plannapus's latest would have ended up around 32 bytes, I think).
Explanation
Like my other answers, this just counts the number of various regex matches, but goes about it much more efficiently:

$ matches the end of the string. This always works, even if there's a match going all the way to the end of the string, so this gives us a baseline of 1 for all inputs.
}\{ finds a single match in the second program (Brain-Flak), bringing the count there up to 2. The backslash isn't necessary for escaping but it prevents this part of the regex from matching itself.
[:'][^]'] is pretty fancy actually. The only purpose is to count the two ' in the APL program (language 3) and the three : in the JavaScript program (language 4), but we need to prevent this part from matching itself. So we also ensure that the next character is neither ', nor ] (because those don't appear after the ones we do want to match, but they do appear in this program here).
The ' from the previous part already causes one match in the R programs, so we need three more. The substring ,1 appears in both of them three times, and in no other programs. We match it by adding a tautological wordboundary in between with ,\b1 to prevent it from matching itself again.

Hm, just realised that this doesn't foil the R answers at all, because 1 is simply their default output. I'll have to do something about that with the next answer.

5. Retina (language 1), 23 bytes
^$|(?![⊂⍴])[⊂-⍴]|\B=|{}

Try it online! (Tests all possible inputs.)
Counts the matches of various things in the input:

^$ matches the input string, i.e. the first answer once.
{} matches itself, which there are two of in the second program, and one in this one.
(?![⊂⍴])[⊂-⍴] matches characters with code points 8834 to 9076, exclusive, which finds three matches in the third program. We use the negative lookahead to avoid the ends of the range being matched in this program.
\B= matches a = that isn't preceded by a word character. This matches four of the = in the fourth program, and doesn't match the = in this program.

7. Retina (language 1), 27 bytes
^$|(?![⊂⍴])[⊂-⍴]|\B=|{}|\b5

Try it online! (Tests all possible inputs.)
A minor modification of the fifth answer. \B= already finds 4 matches in the sixth answer, and \b5 finds another without matching any other answers.

4, JavaScript (ES6), 32 bytes
s=>s?s[0]==`{`?2:s[0]==`s`?4:3:1

Outputs 1 for an empty input, 2 if the input starts with a {, 4 if it starts with an s and 3 otherwise..

You can replace the s[0]=='{' by s[0]>'z'

@Masterzagh I was also thinking about how this can be golfed, but alas, this isn't a code-golf :/

@KritixiLithos Well yea, but he has already kind of golfed it so I thought he would want to go further.

@Masterzagh People should avoid editing valid answers in challenges like this because they can invalidate a) later answers, b) answers that are currently being worked on.

@MartinEnder, you're right. As such I won't edit it. I know it looks golfed (because of the ternary operators), but I didn't write it like that on purpose... Thanks for all the feedback nonetheless!

16. Perl (language 9), 94 bytes
while(<>){print substr("1234151516748149",index("0F=POmS6D4e_XWVH",chr(47+length($_)%70)),1);}

Try it online! (checks all answers). Outputs "1234151516748149"
This prints:

1 with answers 1, 5, 7, 9 and 14 (Retina).
2 with answer 2 (Brain-Flak).
3 with answer 3 (APL).
4 with answers 4, 12 and 15 (Javascript).
5 with answers 6 and 8 (R).
6 with answer 10 (Bash).
7 with answer 11 (Mathematica).
8 with answer 13 (Python).
9 with this answer (Perl).

The program checks input length and maps it to the current language distribution.

11. Mathematica [language 7], 53 bytes
Position[Characters@"^{'sceP",#&@@#][[1,1]]/._@__->1&

Unnamed function taking a list of characters as its argument and outputting a positive integer. Simply branches on the first letter of the input, using its position in the string "^{'sceP" to decide on the output. This gives the right answer for all previous submissions except the initial empty Retina program and the most recent Retina answer; both of these spit errors, but the output is repaired by the rule /._@__->1 which transforms any unevaluated function to 1.

I think it's really time to mess up that first-character strategy :)

I was going to, but then I remembered I had to correctly output for my own language too :D

6. R (language 5), 61 bytes
cat(switch(substr(readline(),1,1),"{"=2,"'"=3,"s"=4,"c"=5,1))

Checks what is the first character of the input and choose output accordingly.
This thus prints:

1 with answers 1 and 5 (Retina).

2 with answer 2 (Brain-Flak).

3 with answer 3 (APL).

4 with answer 4 (Javascript).

and 5 with this answer.

Usage:
> cat(switch(substr(readline(),1,1),"{"=2,"'"=3,"s"=4,"c"=5,1))

1
> cat(switch(substr(readline(),1,1),"{"=2,"'"=3,"s"=4,"c"=5,1))
{<>(())(<>)}{}(<>{}())
2
> cat(switch(substr(readline(),1,1),"{"=2,"'"=3,"s"=4,"c"=5,1))
' {'⍳⊃⍞
3
> cat(switch(substr(readline(),1,1),"{"=2,"'"=3,"s"=4,"c"=5,1))
s=>s?s[0]==`{`?2:s[0]==`s`?4:3:1
4
> cat(switch(substr(readline(),1,1),"{"=2,"'"=3,"s"=4,"c"=5,1))
^$|(?![⊂⍴])[⊂-⍴]|\B=|{}
1
> cat(switch(substr(readline(),1,1),"{"=2,"'"=3,"s"=4,"c"=5,1))
cat(switch(substr(readline(),1,1),"{"=2,"'"=3,"s"=4,"c"=5,1))
5

To run this outside of an REPL, see comment under answer 8.

8. R (language 5), 76 bytes
c=which(c("","{","'","s","c")==substr(readline(),1,1));ifelse(length(c),c,1)

Checks the first letter of the input, and compares it with a vector containing (in that order) the empty string, {, ', s and c. It then outputs the index of the match (R indexing is 1-based) or 1 if there is no match.
Same concept as answer n°6 but prevents answer n°7 from matching it.
This prints:

1 with answers 1,  5 and 7 (Retina).

2 with answer 2 (Brain-Flak).

3 with answer 3 (APL).

4 with answer 4 (Javascript).

and 5 with answer 6 and this answer (R).

If I'm not mistaken, the byte-count allowance for this answer was 94 bytes.

FYI R online interpreters (rfiddle, ideone and tryitonline) seems to have problem handling stdin (at least with readline() ) and thus won't behave properly. If you want to try this (and the previous answer) you'll have to try locally on an installed version of R, i'm afraid.

^ Ok, outside of a REPL readline should be replaced by readLines(file("stdin")). Which means 16 more characters: answer 6 should therefore be 77 bytes (out of 79 allowed) andthis answer 92 bytes (out of 94 allowed). With this change it works on online interpreters as well.

12. Javascript (language 4), 117 bytes
Note: I changed a character to correct a mistake in this one.
c=>c?c[0]=='e'?6:c[0]=='$'||c[0]=='^'?1:c[0]=='c'&&c.length>80?4:c[0]=='P'?7:c[0]=='c'?5:c[0]=='{'?2:c[0]=='s'?4:3:1;

Checks the first letter of the input, if it's c, checks the length of the input.
Outputs:

1 for answers 1, 5, 7, 9
2 for answer 2
3 for answer 3
4 for answer 4 and this answer
5 for answers 6, 8
6 for answer 10
7 for answer 11

13. Python (language 8), 110 bytes
Note: This answer was altered 6 hours after posting, at the recommendation of the OP.
from hashlib import*;print("1234151516748"["a5e1f936cd78b".index(sha256(input().encode()).hexdigest()[34])])#N

This is the same idea as answer 10 (in bash), but in Python 3. (This approach can work for at most 3 more entries before we run out of hex digits.)
This prints:

1 with answers 1, 5, 7, and 9 (Retina).

2 with answer 2 (Brain-Flak).

3 with answer 3 (APL).

4 with answers 4 and 12 (Javascript).

5 with answers 6 and 8 (R).

6 with answer 10 (Bash).

7 with answer 11 (Mathematica).

8 for this answer (Python).

Try it online! for: Answer 1,
Answer 2,
Answer 3,
Answer 4,
Answer 5,
Answer 6,
Answer 7,
Answer 8,
Answer 9,
Answer 10,
Answer 11,
Answer 12, or
this answer.

What is the current byte limit?

@Vi.: Well, it WAS 149 for answer 13 and 163 for answer 14; but the OP just changed the byte count rules to 45+5n, so that it would be 110 bytes for answer 13 and 115 bytes for answer 14.

You should probably put the 110 byte solution up.

@Qwerp-Derp: All right. Hopefully that won't break anyone's ongoing work.

OK, waiting for about 60 answers until the byte limit  it gets to Java-friendly land.

24. Zsh (language 11), 142 bytes
My previous answer #18 in C still works unmodified for all the subsequent entries (demo). So let's mix it up a little.
typeset -A p
p=("[\$^]*|'\[*" 1 '{*' 2 "' *" 3 '?=>*' 4 'c?[wt]*' 5 'e*' 6 'P*' 7 'f*' 8 'w*' 9 'm*' 10 'ty*' 11)
echo ${p[(k)$1]:-1} #@<`w&X{

The purpose of the comment at the end is to match the length of answers 21 and 23,
and ensure that no single character of the sha256 or sha384 hashes is unique for every answer so far,
using the characters checked by Lyth's C++ answers. ;-)
This prints:

1 with answers 1, 5, 7, 9, and 14 (Retina).

2 with answer 2 (Brain-Flak).

3 with answer 3 (APL).

4 with answers 4, 12, and 15 (Javascript).

5 with answers 6 and 8 (R).

6 with answers 10, 17, 20, and 22 (Bash).

7 with answers 11 and 19 (Mathematica).

8 with answer 13 (Python).

9 with answer 16 (Perl).

10 with answers 18, 21, and 23 (C/C++).

11 with this answer (Zsh).

Try it online!

I think this is the first answer to be multi-lined... +1 from me.

14. Retina (language 1), 39 bytes
'[ ⍳]|}\{|[o@:][^]'c@:]|^c|,\b1|1\d|$

Try it online! (Tests all valid inputs.)

Come on Martin, post in a different language... also, could you do the answer-formatting thing?

@Qwerp-Derp This is actually turning into an interesting variation on standard regex golf. Instead of having a set of inputs and having to match some of them and fail some others, here you have to get a specific number of matches on each of the inputs. I do wonder whether this regex will blow up exponentially at some point.

Is it really 39 bytes? TIO reports 37 bytes.

@Arnauld TIO is hardcoded to just count characters for Retina because you often use single-byte encodings. This answer requires UTF-8 though.

15. Javascript (language 4), 108 bytes
Golfed
t=>({24:2,86:3,5:4,73:5,68:5,74:7,4:6,79:4,1:8,67:4})[[...t].reduce((r,c,i)=>r*i^c.charCodeAt(0),0)&0x5F]||1

17. Bash (+coreutils +openssl) (language 6), 103 bytes
Golfed
expr substr 69418476151514321 $(expr index 2PtgBOlrvfDVC8ZHL `openssl md5 -binary|base64|cut -c2`) 1 #x

Uses the same technique as my answer #10, but with Base64 encoded dictionary, instead of Hex.
I've put together the following data file for testing:
6 17 expr substr 69418476151514321 $(expr index 2PtgBOlrvfDVC8ZHL `openssl md5 -binary|base64|cut -c2`) 1 #x
9 16 while(<>){print substr("1234151516748149",index("0F=POmS6D4e_XWVH",chr(47+length($_)%70)),1);}
4 15 t=>({24:2,86:3,5:4,73:5,68:5,74:7,4:6,79:4,1:8,67:4})[[...t].reduce((r,c,i)=>r*i^c.charCodeAt(0),0)&0x5F]||1
1 14 '[ ⍳]|}\{|[o@:][^]'c@:]|^c|,\b1|1\d|$
8 13 from hashlib import*;print("1234151516748"["a5e1f936cd78b".index(sha256(input().encode()).hexdigest()[34])])#N
4 12 c=>c?c[0]=='e'?6:c[0]=='$'||c[0]=='^'?1:c[0]=='c'&&c.length>80?4:c[0]=='P'?7:c[0]=='c'?5:c[0]=='{'?2:c[0]=='s'?4:3:1;
7 11 Position[Characters@"^{'sceP",#&@@#][[1,1]]/._@__->1&
6 10 expr substr "1234151516" $(expr index "365f8dc0eb" `md5sum|cut -c12`) 1 #G
1 09 $|}\{|[:'][^]']|,\b1
5 08 c=which(c("","{","'","s","c")==substr(readline(),1,1));ifelse(length(c),c,1)
1 07 ^$|(?![⊂⍴])[⊂-⍴]|\B=|{}|\b5
5 06 cat(switch(substr(readline(),1,1),"{"=2,"'"=3,"s"=4,"c"=5,1))
1 05 ^$|(?![⊂⍴])[⊂-⍴]|\B=|{}
4 04 s=>s?s[0]==`{`?2:s[0]==`s`?4:3:1
3 03 ' {'⍳⊃⍞
2 02 {<>(())(<>)}{}(<>{}())
1 01

Test
for i in `seq 17`
do
  echo -n `cat lchain|sed -n $i'{p;q}'|cut -c1`=\>
  cat lchain|sed -n $i'{p;q}'|cut -c6-|\
  expr substr 69418476151514321 $(expr index 2PtgBOlrvfDVC8ZHL `openssl md5 -binary|base64|cut -c2`) 1 #x
done

6=>6
9=>9
4=>4
1=>1
8=>8
4=>4
7=>7
6=>6
1=>1
5=>5
1=>1
5=>5
1=>1
4=>4
3=>3
2=>2
1=>1

19. Mathematica (language 7), 96 bytes
Position[ToCharacterCode@StringSplit@";NRU$ Q B [1: =L J, 5% 3 # >",Mod[Length@#,59,33]][[1,1]]&

Unnamed function taking a list of characters as input and returning an integer:

1 with answers 1, 5, 7, 9, and 14 (Retina).
2 with answer 2 (Brain-Flak).
3 with answer 3 (APL).
4 with answers 4, 12, and 15 (Javascript).
5 with answers 6 and 8 (R).
6 with answers 10 and 17 (Bash).
7 with answer 11 and this answer (Mathematica).
8 with answer 13 (Python).
9 with answer 16 (Perl).
10 with answer 18 (C).

So far all the lengths of answers are distinct, and they're even distinct modulo 59—hence can be detected by which integer in the range 33, 34, ..., 91 they're congruent to (mod 59). These are all printable ASCII characters, encoded by the string ";NRU$ Q B [1: =L J, 5% 3 # >"; using ToCharacterCode@StringSplit@ turns this string into a list of ten lists of integers in that range, and Position[...,Mod[Length@#,59,33]][[1,1]] finds which of the ten sublists matches the modified length of the input.

20. Bash (+coreutils +openssl) (language 6), 121 byte
Golfed
expr substr 67A69418476151514321 $(expr index 7042PtgBOlrvfDVC8ZHL `openssl md5 -binary|base64|cut -c2`) 1| dc -e16i?p #u

The same method as my answer #17 (which in turn is based on my original answer #10).
As we have 10 distinct languages now, I've switched to hexadecimal position encoding.
Data
6 20 expr substr 67A69418476151514321 $(expr index 7042PtgBOlrvfDVC8ZHL `openssl md5 -binary|base64|cut -c2`) 1| dc -e16i?p #u
7 19 Position[ToCharacterCode@StringSplit@";NRU$ Q B [1: =L J, 5% 3 # >",Mod[Length@#,59,33]][[1,1]]&
A 18 main(n){char*v=" ^{ s ePfwm",b[999],*c;gets(b);c=strchr(v,*b);n=strlen(b);printf("%d",n?c?c-v:n>99?4:n>60?5:n>15?1:3:1);}
6 17 expr substr 69418476151514321 $(expr index 2PtgBOlrvfDVC8ZHL `openssl md5 -binary|base64|cut -c2`) 1 #x
9 16 while(<>){print substr("1234151516748149",index("0F=POmS6D4e_XWVH",chr(47+length($_)%70)),1);}
4 15 t=>({24:2,86:3,5:4,73:5,68:5,74:7,4:6,79:4,1:8,67:4})[[...t].reduce((r,c,i)=>r*i^c.charCodeAt(0),0)&0x5F]||1
1 14 '[ ⍳]|}\{|[o@:][^]'c@:]|^c|,\b1|1\d|$
8 13 from hashlib import*;print("1234151516748"["a5e1f936cd78b".index(sha256(input().encode()).hexdigest()[34])])#N
4 12 c=>c?c[0]=='e'?6:c[0]=='$'||c[0]=='^'?1:c[0]=='c'&&c.length>80?4:c[0]=='P'?7:c[0]=='c'?5:c[0]=='{'?2:c[0]=='s'?4:3:1;
7 11 Position[Characters@"^{'sceP",#&@@#][[1,1]]/._@__->1&
6 10 expr substr "1234151516" $(expr index "365f8dc0eb" `md5sum|cut -c12`) 1 #G
1 09 $|}\{|[:'][^]']|,\b1
5 08 c=which(c("","{","'","s","c")==substr(readline(),1,1));ifelse(length(c),c,1)
1 07 ^$|(?![⊂⍴])[⊂-⍴]|\B=|{}|\b5
5 06 cat(switch(substr(readline(),1,1),"{"=2,"'"=3,"s"=4,"c"=5,1))
1 05 ^$|(?![⊂⍴])[⊂-⍴]|\B=|{}
4 04 s=>s?s[0]==`{`?2:s[0]==`s`?4:3:1
3 03 ' {'⍳⊃⍞
2 02 {<>(())(<>)}{}(<>{}())
1 01

Test (output)
./test
6=>6
7=>7
A=>10
6=>6
9=>9
4=>4
1=>1
8=>8
4=>4
7=>7
6=>6
1=>1
5=>5
1=>1
5=>5
1=>1
4=>4
3=>3
2=>2

23. C (gcc) (language 10), 142 bytes
main(c){int d[256]={0};while((c=getchar())!=EOF)d[c]++;printf("%d",d[88]?9:d[119]?5*d[123]:d[35]?d[38]?7:8-d[96]:d[48]?4:d[60]?2:1+d[158]*2);}

Try it online!

1 with answers 1, 5, 7, 9, and 14 (Retina).
2 with answer 2 (Brain-Flak).
3 with answer 3 (APL).
4 with answers 4, 12, and 15 (Javascript).
5 with answers 6 and 8 (R).
6 with answers 10, 17, 20 and 22 (Bash).
7 with answer 11 and 19 (Mathematica).
8 with answer 13 (Python).
9 with answer 16 (Perl).
10 with answer 18, 21 and this answer (C).

This program counts number of different characters (in ASCII, so multi-byte UTF-8 characters get split into several entries) and then follows a carefully designed decision tree, basing on the number of occurrences of this or that character.
The decision tree is unchanged from #21 (yay!). I'm not allowed to post exactly same code, so we're back to pure C with minor modifications.

21. C++ (gcc) (language 10 as a variant of C), 142 bytes
main(){int K,d[256]{0};while((K=getchar())!=EOF)d[K]++;printf("%d",d[88]?9:d[119]?5*d[123]:d[35]?d[38]?7:8-d[96]:d[48]?4:d[60]?2:1+d[158]*2);}

Try it online!

1 with answers 1, 5, 7, 9, and 14 (Retina).
2 with answer 2 (Brain-Flak).
3 with answer 3 (APL).
4 with answers 4, 12, and 15 (Javascript).
5 with answers 6 and 8 (R).
6 with answers 10, 17 and 20 (Bash).
7 with answer 11 and 19 (Mathematica).
8 with answer 13 (Python).
9 with answer 16 (Perl).
10 with answer 18 and this answer (C).

This program counts number of different characters (in ASCII, so multi-byte UTF-8 characters get split into several entries) and then follows a carefully designed decision tree, basing on the number of occurrences of this or that character.
Trivia: letter K was not used until this entry. Letters I, E, Y, j, k, q, z remain unused.

There is an option to consider C++ language 11, a few bytes are left to fit that in.

22. Bash (+coreutils) [language 6], 123, 131 bytes
EDIT: Published a wrong version at first, should be fixed now.
Golfed
expr substr 6A67A69418476151514321 $(expr index i3xFepQsAalyIvtqPY7ZN+ \\`openssl sha256 -binary|base64|cut -c10`) 1| dc -e16i?p #L

The same technique as my answers #20, #17 and #10.
Data
6 22 expr substr 6A67A69418476151514321 $(expr index i3xFepQsAalyIvtqPY7ZN+ \\`openssl sha256 -binary|base64|cut -c10`) 1| dc -e16i?p #L
A 21 main(){int K,d[256]{0};while((K=getchar())!=EOF)d[K]++;printf("%d",d[88]?9:d[119]?5*d[123]:d[35]?d[38]?7:8-d[96]:d[48]?4:d[60]?2:1+d[158]*2);}
6 20 expr substr 67A69418476151514321 $(expr index 7042PtgBOlrvfDVC8ZHL `openssl md5 -binary|base64|cut -c2`) 1| dc -e16i?p #u
7 19 Position[ToCharacterCode@StringSplit@";NRU$ Q B [1: =L J, 5% 3 # >",Mod[Length@#,59,33]][[1,1]]&
A 18 main(n){char*v=" ^{ s ePfwm",b[999],*c;gets(b);c=strchr(v,*b);n=strlen(b);printf("%d",n?c?c-v:n>99?4:n>60?5:n>15?1:3:1);}
6 17 expr substr 69418476151514321 $(expr index 2PtgBOlrvfDVC8ZHL `openssl md5 -binary|base64|cut -c2`) 1 #x
9 16 while(<>){print substr("1234151516748149",index("0F=POmS6D4e_XWVH",chr(47+length($_)%70)),1);}
4 15 t=>({24:2,86:3,5:4,73:5,68:5,74:7,4:6,79:4,1:8,67:4})[[...t].reduce((r,c,i)=>r*i^c.charCodeAt(0),0)&0x5F]||1
1 14 '[ ⍳]|}\{|[o@:][^]'c@:]|^c|,\b1|1\d|$
8 13 from hashlib import*;print("1234151516748"["a5e1f936cd78b".index(sha256(input().encode()).hexdigest()[34])])#N
4 12 c=>c?c[0]=='e'?6:c[0]=='$'||c[0]=='^'?1:c[0]=='c'&&c.length>80?4:c[0]=='P'?7:c[0]=='c'?5:c[0]=='{'?2:c[0]=='s'?4:3:1;
7 11 Position[Characters@"^{'sceP",#&@@#][[1,1]]/._@__->1&
6 10 expr substr "1234151516" $(expr index "365f8dc0eb" `md5sum|cut -c12`) 1 #G
1 09 $|}\{|[:'][^]']|,\b1
5 08 c=which(c("","{","'","s","c")==substr(readline(),1,1));ifelse(length(c),c,1)
1 07 ^$|(?![⊂⍴])[⊂-⍴]|\B=|{}|\b5
5 06 cat(switch(substr(readline(),1,1),"{"=2,"'"=3,"s"=4,"c"=5,1))
1 05 ^$|(?![⊂⍴])[⊂-⍴]|\B=|{}
4 04 s=>s?s[0]==`{`?2:s[0]==`s`?4:3:1
3 03 ' {'⍳⊃⍞
2 02 {<>(())(<>)}{}(<>{}())
1 01

Test Run
./test
6=>6
A=>10
6=>6
7=>7
A=>10
6=>6
9=>9
4=>4
1=>1
8=>8
4=>4
7=>7
6=>6
1=>1
5=>5
1=>1
5=>5
1=>1
4=>4
3=>3
2=>2
1=>1

What's the 44?

22*2?

@Qwerp-Derp, just a typo

Come on, your answers are getting boring now - if your next answer is like this, I'm considering downvoting (it's not interesting, y'know?)

@Qwerp-Derp Too bad, I've written a meta-generator for these, which should allow me to generate at least 20 more answers like that

Something is wrong here. There are only 20 entries in your hashed letters (3PgT etc.). For empty input I get an error, and for answer #2 I get "4" (both worked correctly with answer 20.)

@kundor - yep, it was a broken version indeed, and I've also used an old version of the test (which checked top 20 answers only) (facepalm).
Should be fixed now. Thanks for pointing this out !

25. Bash (language 6), 169 bytes
The same technique as my answers #22, #20, #17 and #10.
Sorry @Qwerp-Derp ! ;) I promise this is the last one :)
Golfed
{ echo -n 'addsomesalt?';cat; }|expr substr 6BA6A67A69418476151514321 $(expr index 1W0TC4YrKwRGAJupDqn7Xlcog \\`openssl sha256 -binary|base64|cut -c40`) 1| dc -e16i?p #8

Data

Note that newlines are encoded as \n for answer #24

6 25 { echo -n 'addsomesalt?';cat; }|expr substr 6BA6A67A69418476151514321 $(expr index 1W0TC4YrKwRGAJupDqn7Xlcog \\`openssl sha256 -binary|base64|cut -c40`) 1| dc -e16i?p #8
B 24 typeset -A p\np=("[\$^]*|'\[*" 1 '{*' 2 "' *" 3 '?=>*' 4 'c?[wt]*' 5 'e*' 6 'P*' 7 'f*' 8 'w*' 9 'm*' 10 'ty*' 11)\necho ${p[(k)$1]:-1} #@<`w&X{
A 23 main(c){int d[256]={0};while((c=getchar())!=EOF)d[c]++;printf("%d",d[88]?9:d[119]?5*d[123]:d[35]?d[38]?7:8-d[96]:d[48]?4:d[60]?2:1+d[158]*2);}
6 22 expr substr 6A67A69418476151514321 $(expr index i3xFepQsAalyIvtqPY7ZN+ \\`openssl sha256 -binary|base64|cut -c10`) 1| dc -e16i?p #L
A 21 main(){int K,d[256]{0};while((K=getchar())!=EOF)d[K]++;printf("%d",d[88]?9:d[119]?5*d[123]:d[35]?d[38]?7:8-d[96]:d[48]?4:d[60]?2:1+d[158]*2);}
6 20 expr substr 67A69418476151514321 $(expr index 7042PtgBOlrvfDVC8ZHL `openssl md5 -binary|base64|cut -c2`) 1| dc -e16i?p #u
7 19 Position[ToCharacterCode@StringSplit@";NRU$ Q B [1: =L J, 5% 3 # >",Mod[Length@#,59,33]][[1,1]]&
A 18 main(n){char*v=" ^{ s ePfwm",b[999],*c;gets(b);c=strchr(v,*b);n=strlen(b);printf("%d",n?c?c-v:n>99?4:n>60?5:n>15?1:3:1);}
6 17 expr substr 69418476151514321 $(expr index 2PtgBOlrvfDVC8ZHL `openssl md5 -binary|base64|cut -c2`) 1 #x
9 16 while(<>){print substr("1234151516748149",index("0F=POmS6D4e_XWVH",chr(47+length($_)%70)),1);}
4 15 t=>({24:2,86:3,5:4,73:5,68:5,74:7,4:6,79:4,1:8,67:4})[[...t].reduce((r,c,i)=>r*i^c.charCodeAt(0),0)&0x5F]||1
1 14 '[ ⍳]|}\{|[o@:][^]'c@:]|^c|,\b1|1\d|$
8 13 from hashlib import*;print("1234151516748"["a5e1f936cd78b".index(sha256(input().encode()).hexdigest()[34])])#N
4 12 c=>c?c[0]=='e'?6:c[0]=='$'||c[0]=='^'?1:c[0]=='c'&&c.length>80?4:c[0]=='P'?7:c[0]=='c'?5:c[0]=='{'?2:c[0]=='s'?4:3:1;
7 11 Position[Characters@"^{'sceP",#&@@#][[1,1]]/._@__->1&
6 10 expr substr "1234151516" $(expr index "365f8dc0eb" `md5sum|cut -c12`) 1 #G
1 09 $|}\{|[:'][^]']|,\b1
5 08 c=which(c("","{","'","s","c")==substr(readline(),1,1));ifelse(length(c),c,1)
1 07 ^$|(?![⊂⍴])[⊂-⍴]|\B=|{}|\b5
5 06 cat(switch(substr(readline(),1,1),"{"=2,"'"=3,"s"=4,"c"=5,1))
1 05 ^$|(?![⊂⍴])[⊂-⍴]|\B=|{}
4 04 s=>s?s[0]==`{`?2:s[0]==`s`?4:3:1
3 03 ' {'⍳⊃⍞
2 02 {<>(())(<>)}{}(<>{}())
1 01

Test Output
6=>6
B=>11
A=>10
6=>6
A=>10
6=>6
7=>7
A=>10
6=>6
9=>9
4=>4
1=>1
8=>8
4=>4
7=>7
6=>6
1=>1
5=>5
1=>1
5=>5
1=>1
4=>4
3=>3
2=>2
1=>1


text:
One more LUL and I'm out
Challenge description
On some channels on a popular streaming site twitch.tv a common message people tend to spam in chats to bait people into spamming "LUL" is
One more LUL and I'm out

LUL is a popular emote used to express that something funny happened on stream.
Soon dank memes showed their potential and a parody of the copy-pasta ensued:
One more "One more LUL and I'm out" and I'm out

Which is the same message nested in itself. Given a non-negative integer N, output the LUL-pasta nested N times in itself following the pattern below.
Standard code-golf rules apply, the shortest code in bytes wins.
Sample input / 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
...
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

Notes

Leading/trailing newlines are allowed
Capitalization must be preserved
Your code may be a full program or a function
Instead of printing, you may return a string or its equivalent in your language of choice
You may index from 1 instead of 0

can I add " in the start and end too?

Very similar (Task 5)

@Rod: No, you cannot.

The title of this challenge is very awkward for Dutch speakers...

@Pakk But it's true. I see a LUL, and I'm outta here...

This can be extended to YOLO: You Only YOLO once --> YOYOLOO. You Only YOYOLOO Once --> YOYOYOLOOO, etc.

Shouldn't the start be One more "LUL" and I'm out?

Since I'm bored, here's a Perl-compatible regex that can match any string that could possibly be produced by the programs that are valid entries to this challenge: https://regex101.com/r/7s0CRl/1

Nice challenge!

Can it be even more impressive, and follow "standard" English style by alternating “” and ‘’ ??

@MagicOctopusUrn Twitch emotes only work when their names are surrounded by nothing or whitespace, so "LUL" wouldn't render the LUL emote. Something like " LUL " would, though.

Python 2, 56 bytes
lambda x:('"One more '*x+'LUL'+' and I\'m out"'*x)[1:-1]

Try it online!
It is 1-indexed

I assume the [1:-1] at the end trims the double quotes at the start and end?

@Nzall Precisely

For x=0 this gives 'U', but should give "One more LUL and I'm out".

@Wolfram It is 1-indexed, added this info to the answer

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"

First off input is an invalid HTML attribute, might wanna remove that. Secondly, it's because it takes the input as a string, not a number. So "0" is truthy while 0 is falsy. Easiest way to handle that is to put a + in front of this.value when you're passing it.

@PatrickRoberts Thanks, I don't know why I have an extra input field :)

Nice, I probably would've tried using .replace.

Stack overflows when number is negative.

@programmer500 The input number is given to be non-negative so that is not a problem

I know, just wanted to point that out.

Befunge, 91 bytes
&:00p10p>"tuo m'I dna "1v
09p00-1<^g09p01-1_v#:g0<<vg
>>00g:#^_$>:#,_@  >$"LUL">" erom enO"

Try it online!
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.

Nice use of get to push a ". Thanks for the explanation

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?
Try it online!
Massive thanks to Kritixi Lithos and hvd, for, uh, Massive help.

@Kritixi Now it has a snippet.

This is shorter. And I think you might need to include the <string> import statement into the bytecount, not sure

Also you can change the for(int i=0;i<x;i++) to for(int i=0;i++<x;)

Additionally, r.find("L") is shorter than r.find("LOL") by 2 bytes :)

Recursive version: Try it online!  Also you can use the header and footer on TIO for additional stuff, and then only count your code in the byte count.

Also you may be able to use '"' (single double single) instead of "\"" in the above code

I am using single double single already.

You don't need to find r.find("L") when you can calculate it from i (i*10-1)

@hvd I know, but r.find("L") was more efficient for me.

@MatthewRoh Efficient in what way? r.find("L") is 11 characters, i*10-1 is 6. This is code golf, so shorter is better, right?

Good point. @hvd

Also, the return type can be auto instead of string to save two more characters. And I think you need to either include using namespace std; in your character count, or write std::string, but I'm not sure on that.

Changing ,r=k to ;auto r=k wasn't necessary, that part was valid even with std::string. Your link no longer works since your demo program now also needs std::cin/std::cout/std::endl :)

I found a short version that uses recurrsion. http://codegolf.stackexchange.com/a/107654/23417

@BrainStone I wont copy that. Reasons? 1. I dont want to copy others answers. 2. I dont like recursions, Its very inefficient

05AB1E, 30 29 bytes
…LULIF“"One€£ ÿ€ƒ I'm€Ä"“}}¦¨

Try it online!
Different string-types doesn't seem to mix well, so for some reason I need to end the loop twice.

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.

Since the question asks for just "LUL", you could probably eliminate the flexibility of changing the text and golf out some bytes. Nice solution anyway, +1

@FarhanAnam I thought this was a good starting post that I would then edit, but after I posted I saw someone had posted a better answer and no matter how hard I tried to golf it I always ended up on their answer. So I thought I should just leave it here with the flexibility so that someone has some fun with it.

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/"."

Try it online!
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                             /".."

It is LUL and not LOL ;)

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

You can change both "\"" to '"' (single chars) to save 2 bytes.

@KevinCruijssen thanks, I knew there was something I missed.

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

104 bytes

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]

Try it online

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");};

I wonder if you can use string interpolation instead of Format...

Change string to var to save two bytes.

@devRicher Can't because I'm declaring 2 variables

@Bob I'm already using it, not sure if I can use it elsewhere

Whoops, I didn't notice, sorry.

@Bob On my other answer I tried using one inside another and have struggled to get it to work though so if I manage to get that to happen I can use the same logic here

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

Looks like it works (via LINQPad). Nice. Nested interped strings does sound a bit iffy, but it looks like it chokes on the ternary first.

@Bob the problem I'm having trying to get it to work is because of the quotes, or at least that is what I think is causing it so I can't seem to remove the first string.Format and nest them

How about $"One more {(n<1?"LUL":$""{m(--n)}"")} and I'm out"

@Luc did you try that? Cos I'm sure I did something similar and it didn't work. On my phone right now so can't test

You can in any case replace string.Format with + to get 73 chars:

string m2(int n)=>"One more "+(n<1?"LUL":$""{m(--n)}"")+" and I'm out";

Yes you can nest. But you have to add (parentheses) around the ternary to do it. So Luc's is good.

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"},#]&

Managed to shave off a byte by starting from LUL: ""<>Nest[{q="\"",{"One more ",#," and I'm out"},q}&,"LUL",#+1][[2]]&

Aha! [[2]]! That's how to get around those first undesired quotes :D

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="")

Retina, 51 bytes
.+
$*00LUL1$&$*
0
"One more
1
 and I'm out"
^"|"$

Try it online!

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)
}

PowerShell, 72 67 bytes
"$('"One more '*($c=1+"$args"))LUL$(' and I''m out"'*$c)".Trim('"')

Try it online!

"$('"One more '*($c=1+"$args"))LUL$(' and I''m out"'*$c)".Trim('"') shaved 5 by using a trim() instead of a join to skip the end "'s

@ConnorLSW nice! good call, thank you

Japt, 39 bytes
Thank you @ETHproductions for helping.
`"O Ú `p°U +"LUL"+` d I'm t"`pU)s1J

Try it here!

Ruby, 51 bytes
One-indexed. Try it online
->n{['One more ']*n*?"+'LUL'+[" and I'm out"]*n*?"}

Go, 104 82 bytes
func f(n int)string{if n<0{return"LUL"}
return`One more "`+f(n-1)+`" and I'm out`}

Attempt This Online!

-22 bytes by @Steffan: string concat instead of Sprintf

-22 bytes: you don't need Sprintf.

The output is incorrect: LUL should not have quotes around it.

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.

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*

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.

@devRicher and aross: We have a Be Nice policy—please remember to follow it and act with a civil tone, even when disagreeing with someone.

@Doorknob I'm sure you'll agree that an accusation of cheating is uncalled for. I'm also sure that his downvote (which still stands) should be removed, as I corrected my answer

Haskell, 51 bytes
Indexes from 1.
f 0="LUL";f n="One more \""++f(n-1)++"\" and I'm out"

This seems to incorrectly print the LUL in quotes.

Easy to make index from 0 using f -1="LUL", but I don't see how to remove extra quotes without a bunch of new symbols.

Mathematica, 65 63 Bytes
Nest["\"One more "<>#<>" and I'm out\""&,"LUL",#]~StringTrim~_&

Two bytes off by noticing the challenge allows 1-indexing.

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.
Try it Online!

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';}

In php, programs are almost always shorter than functions.

CJam, 51 49 bytes
" and I'm out\"""\"One more "li1+_@*"LUL"+1>@@*W<

Try it online
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

You can use W instead of -1 to save one byte

Here are some other tricks to shorten this further: https://tio.run/nexus/cjam#@6/kn5eqkJtflKrApZCYl6LgqZ6rkF9aopTgp1@UqZmmpeQT6qOkZWgXbvP/vxEA ... I started by trying to avoid the \" by having a single string and adding the " to both ends with \``. Then I needed to split the string which I couldn't do with a length and /, because the first part is shorter. So I used a linefeed as a separator and did N/. Since we now have both parts in a list, we can easily repeat both of them at once with f*. And the LUL is inserted at the end with a simple join (*`).

That's cool, but it looks more like completely different solution than shortening this further :) That's my first program on CJam, so I didn't know these tricks, thanks. Should I add this solution to the answer?

@Wolfram It's up to you. I'm happy for you to use it (otherwise I wouldn't have commented ;)).

@Wolfram a nice first effort! You'll probably benefit a lot by going through Martin's answer

Python 3, 68 Bytes
def f(a):return('"One more '*a+'LUL'+(' and I%sm out"'%"'")*a)[1:-1]

This gives incorrect output. Did you mean *a instead of *5?

Yes I did, thanks, I hadn't realised I'd put that

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.

Tcl, 91 bytes
set g [set f "One more LUL and I'm out"]
time {regsub -all LUL $f "\"$g\"" f} $argv
puts $f

Try it online!

Is set n ... a valid passing of value in shell script golfing?

@JonathanFrech Fixed.

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.
Try it online!

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.

Cheddar, 71 bytes
i->('One more "'*i).slice(0,-1)+'LUL '+('and I\'m out" '*i).slice(0,-2)

Try it online!

Maybe try recursion with _ f -> syntax which may save some bytes

Uhh, I'm not really familiar with how that syntax works, and I can't find it or any examples in the docs.

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 Ç¡.
Try it online!
Explanation will follow soon!

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.
Try it here!

There is an extra space in " LUL" which should be removed.

Perl 5, 55 + 1 (-p) = 56 bytes
$_='"One more 'x++$_.LUL.' and I\'m out"'x$_;s/^.|.$//g

Try it online!

Nice approach! Couldn't come up with an alternative, but a little rearrangement can save you 6 bytes (plus dropping the +1 for -p): Try it online!

Stax, 27 bytes
âΔ▓♥CPM9C"4█é¢┐╥äΔ↔╖◄b)►┤≤▐

Run and debug it
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.

Microsoft Excel, 69
Cells:

A1 - input
A2 - One more "
A3 - " and I'm out
A4 - "" (Otherwise I'd have to escape them)
Wherever - =SUBSTITUTE(REPT(A2,A1)&REPT(A3,A1),A4,"LUL"

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)

Husk, 27 bytes
!¡σ"LUL"s₁₁
¨Ønø LULÄdİ'møo

Try it online!
Does infinite replacement of LUL and indexes into it.
1-indexed.

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<

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('"')}

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")%)

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)

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" ))))

Octave, 72 70 bytes
@(n)[{'"One more '}{o=!(1:n)+1} "LUL " {"and I'm out\" "}{o}](2:end-2)

1 based index
Try It Online!

PowerShell, 88 bytes
for($d=($s="One more LUL and I'm out");$i++-lt$args[0]){$d=$d.Replace("LUL","`"$s`"")}$d

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.)

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");}

You can't assume that this string is passed as input. It's a standard loophole, which is forbidden by default. - @Zgarb in the deleted Java 7 answer

Sorry I am new to this. Do I have to add the call to the total bytes? Or find another solution that does only assume an int N as input?

You need to find another solution that only assumes the integer

Another option is to use C#'s optional arguments thing, so string l(int n,string s="LUL") works as well. But your new solution is now shorter anyways, so it might be better to just leave it as is! Unless someone else with more C# knowledge knows how to golf it further, of course.

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"))

I tried it on my PC and it seems your code outputs additional " on beggining and end. Also for n>=1 output should be One more "One more LUL and I'm out" and I'm out without backslash before " etc. It is possible that I have some old version of Racket but please look into it. Also - you can save one byte with 'LUL instead of "LUL"

@PrzemysławP In the Racket string "a\"b\"c", typing it into the repl will result the same as what you typed, you want to do (displayln "a\"b\"c") which outputs just a"b"c. Nice catch on the -1 byte, thanks!

So your function outputs string that is appropriate for other function to read and output what is needed. I doesn't output what is needed on its own. But probably you know better than me what is allowed - I may try to use this somewhere.

@PrzemysławP Could you clarify what isn't correct in this answer? I have no clue what you're going on about.

I am sorry for confusion. What I think may be incorrect is that output contains escape characters and quotes. To get rid of them you need to use other function on it (displayln if I understand you correctly). However it is possible that it is allowed, hence my "But probably you know better than me what is allowed(...)". To put it straight: when I write to REPL function definition and function call it displays different thing than what is defined in "Sample Input/Output" section in question.

Scala, 63 bytes
(n:Int)=>("One more \""*n init)+"LUL"+("\" and I'm out"*n tail)

1-indexed

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;}

Try Me Online!

doesn't work. 1 should output "one more LUL and I'm out" with no quotes

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;
}

does this output null bytes?

@DestructibleWatermelon no, it just works. I guess adding the null-char is just ignored.

how did you check exactly?

By running and checking the output.

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

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

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.
"Calculate" it on the Internet!

Python, 78 bytes
f=lambda n:'One more "'*(n-1)+"One more LUL and I'm out"+'" and I\'m out'*(n-1)

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"}

Try it online.

GolfScript, 44 bytes
~"LUL"\{'"One more
 and I\'m out"'n/*}*(;);

Try it online!
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

SOGL V0.12, 27 bytes
LUL”.I{" ž-┌πēj░ō|≥π┘⁴‘⁾}jk

Try it Here!

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

Try it online!

Japt, 33 bytes
`O Ú {?Q²¬qßUÉ:`lª`u} d I'm t

Try it

Vyxal, 34 33 bytes
`"λŀ λƈ `*‛⇧Ṫ⇧+` λ¬ I'm λ₅"`?*+ḢṪ

Try it Online!
-1 thx to @steffan

\LUL`=>‛⇧Ṫ⇧`

Thunno 2, 34 bytes
ʋLULs{‘"One Ḍḋ % and I'm out"‘Œ}ḣṫ

Attempt This Online!
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

TypeScript's type system, 100 77 bytes
type F<N>=`One more ${N extends[1,...infer K]?`"${F<K>}"`:"LUL"} and I'm out`

Try it at the TS playground
This is a generic type F<N> where N is a unary number represented by a tuple 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

Try it at the TS playground

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
Digit stream with no 42
You should write a program or function which receives no input and outputs a stream of digits.

The stream should contain at least once every positive integer number which does not contain the digit sequence 42. E.g. The string 1231 contains the integers 1 12 123 1231 2 23 231 3 31 (and 1 again)
The stream should not contain the digit sequence 42.
If your interpreter can't handle infinite output gracefully you can add code to only print the first n digits. This added code does not count to your score.
Note that the stream 203204205... contains 42.
No randomness should be used.

This is code-golf so the shortest entry wins.

This is basically this with an additional substring check.

@Fatalize Right, now it seems too simple. I forgot that skipping the number is not a problem.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Disarium Dilemma
Disarium Dilemma
A Disarium is defined as a number whose:

sum of its digits powered with their respective position is equal to the original number

Your Task:
You have a strange obsession with numbers classified as being a disarium.  The need to follow the ways of disarium is so great in you that you refuse to read any non-disarium numbered pages in any given book.  You have two BIG problems:

Your professor just assigned you to read your textbook from page n to page m
You hit your head really hard last week and can't seem to remember how to programmatically determine if a number is considered to be a disarium.

Time is of the essence so the code to determine the pages you will need to read needs to be as short as possible.
You need to identify all of the disarium within an inclusive range of n through m.
Examples of a disarium:

89 = 81 + 92
135 = 11 + 32 + 53
518 = 51 + 12 + 83

This is code-golf, so the least number of bytes wins!
Here is the full sequence of A032799.

@Fatalize The range is inclusive, I will edit the question to reflect this.

Are there any guaranteed bounds on n and m? There’s a very big disarium (12157692622039623539), should answers be able to identify it?

@Lynn Given that there are already a number of solutions, I would say there should be no bounds on the range.

@Lynn. There is no disarium >22 digits, so in a way the range is already bounded.

OEIS link to disarium numbers, for anyone interested.

Are we guaranteed that a and b are both larger than 0?

@MadPhysicist Why would that be the case? Can you link to a proof (if there is one), I'm genuinely interested. Thanks!

@FlipTack If n and m are negative, it shouldn't return any values as is the nature of the sequence.

@MistahFiggins Please go to the OEIS link at the bottom of the question.  You will find a proof that shows the Disarium sequence is indeed finite.

Perl 6, 40 39 bytes
{grep {$_==sum .comb Z**1..*},$^a..$^b}

Try it online!
How it works
{                                     }  # A lambda.
                              $^a..$^b   # Range between the two lambda arguments.
 grep {                     },           # Return numbers from that range which satisfy:
               .comb Z  1..*             #  Digits zipped with the sequence 1,2,3,...,
                      **                 #  with exponentiation operator applied to each pair,
           sum                           #  and those exponents summed,
       $_==                              #  equals the number.

Python2, 98 89 88 84 bytes
lambda n,m:[x for x in range(n,m+1)if sum(int(m)**-~p for p,m in enumerate(`x`))==x]

Horrible. Will get shorter. Starting to look better
Here's my recursive attempt (86 bytes):
f=lambda n,m:[]if n>m else[n]*(sum(int(m)**-~p for p,m in enumerate(`n`))==n)+f(n+1,m)

Thanks to @Rod for saving 4 bytes! range to enumerate and so on.

switching to enumerate, you can use int(n) instead int(\x`[p])`

JavaScript (ES7), 105 91 89 88 83 79 82 81 bytes
Thanks to Arnauld for saving 20B, and ETHProductions for saving 6B!
a=>b=>[...Array(b).keys()].filter(c=>c>=a&([...c+''].map(d=>c-=d**++e,e=0),!c))

Usage
Assign the function to a variable, and give it the minimum and the maximum as arguments. Example:
f=a=>b=>[...Array(b).keys()].filter(c=>c>=a&([...c+''].map(d=>c-=d**++e,e=0),!c))
f(0)(90)

Output
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 89]

Further golfing
This seems pretty well-golfed, but there's always room for improvement... I think.

Yeah, that's actually quite a bit shorter. Thanks!

You can change d**(e+1) to d**-~e to save two bytes.

Thanks for the tip, added it. Only 2 more bytes before we've beaten Python...

You can use & instead of &&. One more byte to go...

I just changed that in my local copy... Guess you were faster.

[...c+''].reduce((p,c,e)=>p+c**-~e,0) should save a few more bytes.

Oh no :( Looks like JS holds the title (for the moment).

Indeed, but I just added another improvement, which uses '' == 0.

Seems like the current version is 88 bytes, rather than 86. (The reduce version is 83, I think.)

Oops, you're right. I'll use the reduce version.

You can use .map to save a few more bytes: c=>c>a&([...c+''].map(d=>c-=d**++e,e=0),!c)

The post states that it's in inclusive range, so you need to include both endpoints.

Hmm, the rules must have been updated since I posted my answer. I included the lower endpoint at the cost of 3 bytes.

Python 3, 100 bytes
lambda n,m:{*range(10),89,135,175,518,598,1306,1676,2427,2646798,0xa8b8cd06890f2773}&{*range(n,m+1)}

Not the shortest approach, but a pretty cute one. There are finitely many disariums; see the OEIS page for a nice proof. These are all of them.

This is use of hard-coding which is a loophole http://meta.codegolf.stackexchange.com/a/1063/55243 I would recommended you change your answer to fit with the standard rules

I don't think this violates the hard-coding rule, as the program still "does work" and the output is not hard-coded.

05AB1E, 12 bytes
Saved 2 bytes thanks to  Emigna
ŸvygLySmOyQ—

Try it online!
Ÿ            # push [a .. b]
 vy          # for each
   gL        # push [1 .. num digits]
     yS      # push [individual digits]
       m     # push [list of digits to the power of [1..num digits] ]
        O    # sum
         yQ— # print this value if equal

ŸvygLySmOyQ— should work for 12 bytes.

JavaScript (Firefox 52+), 68 bytes
f=(n,m)=>(e=0,[for(d of t=n+'')t-=d**++e],t||alert(n),n-m&&f(n+1,m))

Recursive function that outputs via alert. Works in the Developer Edition of Firefox, which you can download on this page. Previous versions of Firefox don't support the ** operator, and no other browser supports [for(a of b)c] syntax.
Test snippet
This uses .map instead of an array comprehension, and Math.pow instead of **, so it should work in all browsers that support ES6.

f=(n,m)=>(e=0,[...t=n+''].map(d=>t-=Math.pow(d,++e)),t||alert(n),n-m&&f(n+1,m))

f(0,100)

Perl, 43 bytes
map{say if$_==eval s/./+$&**$+[0]/gr}<>..<>

Try it online!
Regex is really powerful, you guys.
Explanation
The first thing the code does is read two integers as input via <>, and creates a range from the first to the second with ...  It then uses the standard map function to iterate through this range, and applies the following code to each value: say if$_==eval s/./+$&**$+[0]/gr.  This looks like gibberish, and it kind of is, but here's what's really happening.
map implicitly stores its current value in the variable $_.  Many perl functions and operations use this value when none is given.  This includes regular expressions, such as the s/// substitution operator.
There are four parts to a substitution regex:

String to be manipulated.  Ordinarily, the operator =~ is used to apply a regex to a string, but if this operator is absent, then the regex is applied to the implicit variable $_, which contains our current number via the map function.
String to search for.  In this case, we're searching for any single non-newline character, denoted by the wildcard ..  In effect, we're capturing each individual digit.
String to replace with.  We're substituting a plus sign + followed by a mathematical expression, mixed in with some magical Perl variables that make everything significantly easier.

The special scalar variable $& always contains the entirety of the last successful regex capture, which in this case is a single digit.  The special array variable @+ always contains a list of postmatch offsets for the last successful match, i.e. the index of the text after the match.  $+[0] is the index in $_ of the text immediately following $&.  In the case of 135, we capture the digit 1, and the index in 135 of the text immediately afterwards (namely, 35) is 1, which is our exponent.  So, we want to raise $& (1) to the power of $+[0] (1) and get 1.  We want to raise 3 to the power of 2 and get 9.  We want to raise 5 to the power of 3 and get 125.
If the input was 135, the resulting string is +1**1+3**2+5**3.

Regex-modifying flags.  Here we're using two regex flags -- /g and /r.  /g tells the interpreter to continue replacements after the first is found (otherwise we'd end up with +1**135). /r tells the interpreter not to modify the original string, and instead return what the string would be after the replacements.  This is important, because otherwise, it would overwrite $_, and we need it for comparison purposes.

Once the entire substitution is done, we get a mathematical expression, which is evaluated with the eval function.  +1**1+3**2+5**3 is evaluated into 1 + 9 + 125 = 135, which is compared to the original number 135.  Since these two are equal, the code prints the number.

Beautiful solution. (Note that this won't work is the first input is 0, but I'm not sure it matters). A few bytes to golf: map$_-eval s/./+$&**$+[0]/gr||say,<>..<>

And "@+" is 1 byte shorter than $+[0] :)

Jelly, 11 bytes
D*J$S⁼
rÇÐf

Try it online!
Got this down from 16 to 11, with some help from @miles!
Explanation:
rÇÐf    Main link, arguments are m and n
r       Generate a list from m to n
 Ç      Invoke the helper link
  Ðf    And filter out all that don't return 1 on that link

D*J$S⁼  Helper link, determines if item is Disarium
D       Break input (the current item of our list in Main) into digits (135 --> [1, 3, 5])
  J$    Create a range from 1 to x, where x is the number of digits             [1, 2, 3]
 *      Raise each digit to the power of their respective index
    S⁼  And return a 1 if the sum of powers is equal to the helper-link's input

You can use J to get indices. A shorter way might be D*J$S⁼ to combine your two links into one

Arrived at exactly that conclusion about 20 sec ago. Thnx!

R, 100 bytes
function(n,m,x=n:m)x[sapply(x,function(y)sum(as.integer(el(strsplit(c(y,""),"")))^(1:nchar(y)))==y)]

Unnamed function that takes n and m. As always in R, splitting integers into a numeric digit vector is tedious and eats up a lot of bytes. This makes the function relatively slow and only works for 32-bit integers.

CJam, 23 bytes
q~),\>{_Ab_,,:).#:+=},p

Try it online!
Explanation
q~                      Get and eval all input
  ),\>                  Get the range between m and n, inclusive
      {                 For each number in the range...
       _Ab               Duplicate and get the list of digits
          _,,:)          Duplicate the list, take its length, make the range from 1 to length
               .#        Vectorize with exponentiation; computes first digit^1, second^2, etc
                 :+      Sum the results
                   =     Compare to the original number
                    },  Filter the range to only numbers for which the above block is true
                      p Print nicely

05AB1E, 18 bytes
Ÿvy©SDgLsmO®Qi®}})

Try it online!

Python 2.X, 92 bytes
lambda m,n:[k for k in range(m,n+1)if sum(int(j)**(i+1) for i,j in enumerate(list(`k`)))==k]

Useless whitespace after (i+1), but this is not a problem, when you get rid of the parentheses by doing -~i.

That'd make my attempt exact same as yours!

Almost. You have list('k'), which I don't have. However, you can still remove the whitespace :)

Python 2, 84 bytes
A full program approach, currently the same length as the lambda solution.
a,b=input()
while a<=b:
 t=p=0
 for x in`a`:p+=1;t+=int(x)**p
 if t==a:print a
 a+=1

Try it online!

Hmm. I thought about the almost exact answer, but discarded due to confusion with input(). Very nice! +1.

Japt, 15 bytes
òV f_¥Zì £XpYÄÃx

Test it online! This was a collaboration between @obarakon and myself.
How it works
òV f_¥Zì £XpYÄÃx   // Implicit: U, V = input integers
òV                 // Create the inclusive range [U...V].
   f_              // Filter to only the items Z where...
               x   //   the sum of
      Zì           //   the decimal digits of Z,
         £XpYÄÃ    //   where each is raised to the power of (index + 1),
     ¥             //   is equal to Z.
                   // Implicit: output result of last expression

In the latest version of Japt, x accepts a function as an argument, which allows us to golf another byte:
òV f_¥Zì x@XpYÄ

Test it online!

05AB1E, 8 bytes
ŸʒDSāmOQ

Try it online!

Clojure, 107 bytes
#(for[i(range %(inc %2)):when(=(int(apply +(map(fn[i v](Math/pow(-(int v)48)(inc i)))(range)(str i))))i)]i)

Implementing the equation is terribly long.

can save a couple of bytes by doing (.pow(-(int v)48M)

TI-Basic, 85 bytes
Input
For(I,X,Y
If I<=9 or sum(I={89,135,175,518,598,1306,1676,2427,2646798,12157692622039623539
Disp I
End

I did not know hard-coding was permitted. :)

@AbelTom Well, it really helps that this series only has 20 terms. Also, converting number to string in TI-Basic takes lots of bytes. Only other solution would be to int(log( every number and then do the powers. Perhaps this is shorter, but I doubt it.

That input method is very clever but kind of sketchy. You need to be in FUNC mode and the window has to be set up to include your input point. Doesn't seem portable enough to me.

@JakobCornell By default the calc is in FUNC mode, although I do see what you're saying about the input resolution. But, this method is pretty common in golfing. You could always Prompt X,Y instead.

PHP, 92 91 88 bytes
3 bytes saved thanks @AlexHowansky
for([,$n,$m]=$argv;$n<=$m;$s-$n++?:print"$s,")for($i=$s=0;_>$b=($n._)[$i++];)$s+=$b**$i;

takes input from command line arguments; prints a trailing comma. Run with -r.

Save three with for([,$n,$m]=$argv;$n<=$m;

Strange that print works there but echo doesn't. I guess because echo doesn't return anything -- not even null, oddly.

@AlexHowansky: It´s also strange that "$n"[index] and "_$n"[index] produce parse errors while "89"[index] and $s="$n";$s[index] are perfectly fine.

Hmm yes, that does seem odd at first, but after checking the docs, it appears they do explicitly say that the feature works only for string literals.

Heh heh well this works, but it probably doesn't save you any bytes: ("_$n")[index]

Haskell, 61 bytes
n#m=[i|i<-[n..m],i==sum(zipWith(^)(read.pure<$>show i)[1..])]

Usage example 5 # 600 -> [5,6,7,8,9,89,135,175,518,598].
Check each number i in the range [n..m]. The digits are extracted by turning i into a string (show) and making each char a one element string (pure) which is turned into an integer again (read). Zip those numbers element wise with [1..] via the function ^ and take the sum.

Mathematica, 59 bytes
Select[Range@##,Tr[(d=IntegerDigits@#)^Range@Length@d]==#&]&

Unnamed function taking two integer arguments and returning a list of integers. (d=IntegerDigits@#)^Range@Length@d produces the list of digits of a number to the appropriate powers; Tr[...]==# detects whether the sum of those digit-powers equals the original number.

MATLAB, 88 73 bytes
@(n,m)find(arrayfun(@(n)n==sum((num2str(n)-48).^(1:log10(n)+1)),n:m))+n-1

Original answer:
function g(n,m);a=n:m;a(arrayfun(@(n)n==sum((num2str(n)-'0').^(1:floor(log10(n))+1)),a))

num2str(n)-'0' splits a n into a vector of its digits, and 1:floor(log10(n))+1 is a vector holding one to the number of digits in n. Thanks to  log for the golf down to an anonymous function, saving 15 bytes.

Japt, 12 bytes
òV fÈ¶ìxÈpYÄ

Try it
òV fÈ¶ìxÈpYÄ     :Implicit input of integers U & V
òV               :Range [U,V]
   f             :Filter by
    È            :Passing each through the following function
     ¶           :  Check for equality with
      ì          :  Convert to digit array
       x         :  Reduce by addition
        È        :  After passing each element at 0-based index Y through the following function
         p       :    Raise to the power of
          YÄ     :    Y+1

Brachylog, 10 bytes
⟦₂∋.i₁ᶠ^ᵐ+

Try it online!
Generates each disarium through the output variable.
   .          The output variable is
  ∋           an element of
⟦₂            the inclusive range between the elements of the input.
      ᶠ       Find every
    i₁        pair of a digit and its 1-index in the output variable,
       ^ᵐ     and raise each digit to the power of its index.
         +    The sum is equal to the output variable.

Also worth mentioning here, rather than in a comment or its own submission, that steenbergh's Jelly solution can now be golfed down to rD*J$S⁼ƲƇ, but I might find this a bit more idiomatic:
Jelly, 9 bytes
rD*J$SƊƑƇ

Try it online!

Desmos, 82 bytes
a=[n...m]
d=\floor(\log a)
f(n,m)=a[a=\sum_{i=0}^d\mod(\floor(a/10^i),10)^{d-i+1}]

Try it on Desmos!

Python 2, 100 bytes
for i in range(input(),input()+1):x=sum(int(`i`[n])**-~n for n in range(len(`i`)));print("",x)[x==i]

I haven't had a chance to run this yet (doing this on my phone).

This doesn't work. Incorrect syntax and when corrected, would print only boolean values. Starts from the exponent 0, which is also incorrect. Also, you don't need the square brackets inside sum.

This isn't checking for disarium numbers.

@hashcode55, fixed (?)

@TuukkaX, now it should work I think

I'm not on computer, but this should print a newline on each iteration, where i is a Disarium. I have no idea whether this is allowed, but I would say no, since the output gets very blank.

The submission should output the Disarium within an inclusive range of n through m, not produce new lines... How would you ever know which pages you needed to read??

@CraigR8806, it prints the number, x, if it's valid otherwise a newline. Is that not allowed?

@Dopapp sorry I misread the implementation.  I still think this would not be admissible as towards the higher end of the range there are large gaps between each Disarium.  You would have a large number of new lines separating your output if this were the case.

(n+1) could be -~n.

@TuukkaX, oh thanks!

Haskell, 82 76 75 bytes
n!m=[x|x<-[n..m],x==x#(length.show)x]
0#i=0
n#i=(div n 10)#(i-1)+mod n 10^i

Try it online! Usage: 5 ! 175
This checks each number in the range n to m if its a disarium number and is hence quite slow for big m.

Faster version: (93 bytes)
n!m=[x|x<-[0..9]++[89,135,175,518,598,1306,1676,2427,2646798,12157692622039623539],x>=n,x<=m]

Try it online!

C 175 169 bytes
f(a,b){for(j=a;j<b;j++){n,i=0,x=0;s=0;n=j;while(n!=0){n/=10;i++;}a[i];n=j;while(n!=0){a[i-x-1]=n%10;n/=10;x++;}for(x=0;x<i;x++)s+=(int)pow(a[x],x+1);if(j==s)printf("%d ",s);}}

Ungolfed version:
void f(int a, int b)
{

  for(int j=a; j<b;j++)
  {
    int n,i=0,x=0;
    int s=0;
    n=j;

   //Convert each number from 'n' to 'm' and store it in an int array
   while(n)
   {
     n/=10;
     i++;
   }
   int a[i];

   n=j;
   while(n)
   {
    a[i-x-1]=n%10;
    n/=10;
    x++;
   }

  //Calculate sum of digits powered with their respective position
  for(x=0;x<i;x++)
   s+=(int)pow(a[x], x+1);

   //Print Desarium
   if(j==s)
    printf("%d ", sum);
 }

}

Can be shortened in some way, but I don't see it at the moment.
@TuukkaX Thanks for saving 6 bytes.

Both n!=0 can be changed to n.

You're right, that does make sense!

C (gcc), 136 bytes
r[]={0,0};f(n){if(n)f(n/10),r[1]=pow((n%10),*r)+r[1]+.5,r[0]++;else*r=1,r[1]=0;}g(m,x){for(;m<=x;m++){f(m);if(m==r[1])printf("%d,",m);}}

Header defining pow on TIO because for some reason it didn't auto include pow.  My computer did, so I'm going to roll with that.
Try it online!

MATL, 16 bytes
&:"@tFYAtn:^s=?@

Try it online!
&:        % Input two n, m implicitly. Push array [n n+1 ... m]
"         % For each k in that array
  @       %   Push k
  tFYA    %   Duplicate. Convert to decimal digits
  tn:     %   Duplicate. Push [1 2 ... d], where d is the number of digits
  ^       %   Element-wise power
  s       %   Sum of array
  =       %   Compare with previous copy of k: is it equal?
  ?       %   If so
    @     %     Push k
          %   End, implicit
          % End, implicit
          % Display stack, implicit

Octave, 88 87 bytes
Thanks to MattWH for saving a byte (f(x)-48 vs f(x)-'0')
@(n,m,f=@num2str,a=n:m)a(a==cell2mat(arrayfun(@(x){sum((f(x)-48).^(1:nnz(f(x))))},a)))

To run:
>> f=@(n,m,f=@num2str,a=n:m)a(a==cell2mat(arrayfun(@(x){sum((f(x)-'0').^(1:nnz(f(x))))},a)))
>> f(0,1000)
ans =
      1     2     3     4     5     6     7     8     9    89   135   175   518   598

Explanation
@(n,m,                                              % Create an anonymous function and pass it n and m as paramteres
    f=@num2str,                                     % Will be using the num2str mehtod twice, set the variable f to the handle to save on bytes
        a=n:m)                                      % Create a vector 'a' and populate it with the numbers n through m
            a(a==                                   % Logically index into a, where the values of a match Disarium numbers
                cell2mat(                           % Convert the cell array returned by arrayfun into a matrix, so we can use it in the logical index
                    arrayfun(@(x){                  % Call the following function on every element of a, using the index named 'x'
                        sum(                        % Sum the matrix that results from the following computation
                            (f(x)-'0')              % Convert the value at index x into a string, then break it into a matrix by subtracting the string '0'.
                                                    % This results in the matrix [1 3 5] for the number 135.
                                .^                  % Compute the element-wise power with the following matrix
                                    (1:nnz(f(x)))   % Create a matrix with the range 1 to the length of the number at index x. This results in the matrix
                                                    % [1 2 3] for the number 135.
                        )                           % Closes the sum statement
                    },a)                            % Closes the arrayfun statement, passing the matrix a to be operated on
                )
            )

Batch, 115 bytes
@for %%d in (0 1 2 3 4 5 6 7 8 9 89 135 175 518 598 1306 1676 2427 2646798)do @if %%d geq %1 if %%d leq %2 echo %%d

Batch only has 32-bit arithmetic which has no way of comparing the last disarium number, but if you insist on string comparisons, then for 402 bytes:
@echo off
for %%d in (0 1 2 3 4 5 6 7 8 9 89 135 175 518 598 1306 1676 2427 2646798 12157692622039623539)do call:c %1 %%d&&call:c %%d %2&&echo %%d
exit/b
:c
call:p %1 %2
set r=%s%
call:p %2 %1
:g
if %r:~,1% lss %s:~,1% exit/b0
if %r:~,1% gtr %s:~,1% exit/b1
if %r%==%s% exit/b0
set r=%r:~1%
set s=%s:~1%
goto g
:p
set s=%1
set t=%2
:l
set s=0%s%
set t=%t:~1%
if not "%t%"=="" goto l

Scala, 132 129 bytes
(% :Int,^ :Int)=>for(i<- %to^)if(((0/:(i+"").zipWithIndex)((z,f)=>{z+BigInt(f._1.toInt-48).pow(f._2+1).intValue}))==i)println(i)

129 edit: Changing the for loop's variable name from & to i saved three spaces.

Explanation
For each value in the input range:

convert it to a string with +""
use zipWithIndex to produce a list of tuples containing a char of the digit and its index
fold the list by returning each char's int value minus 48 (lines up to 0-9) to the power of its list index plus one (to start at ^1)
if the result matches the input, print it

Comments
Finally got around to learning how fold and zipWithIndex work. I'm unhappy with the int conversions, but I am pleased with the succinctness of fold and zipWithIndex.

Husk, 11 bytes
fS=oṠδṁ^ŀd…

Try it online!
Explanation
fS=oṠδṁ^ŀd…
          … inclusive range m to n
f           filter:
  =          is the number equal to
   o     d   the number converted to digits
     δ       zipped with
        ŀ    range 1..length
      ṁ^     raise each digit to those powers
      ṁ      and sum them

C (gcc), 101 bytes
i;j;a(n,m){char*p;for(i=n;i<m;i++-n||puts(p))for(n=j=0;j++<asprintf(&p,"%d",i);)n+=pow(p[j-1]-48,j);}

Try it online!

Factor + math.unicode, 72 bytes
[ [a,b] [ dup present [ [ digit> ] dip 1 + ^ ] map-index Σ = ] filter ]

Try it online!
Explanation:

[a,b] [ ... ] filter Create a range from the inputs (inclusive) and collect numbers for which the quotation returns t into a sequence.
dup ... = Create a copy of the input and see if it's equal to the sum of the digits raised to their indices (the ... part).
present Convert a number to a string.
[ ... ] map-index Apply a quotation to each element of a sequence and collect the results into a sequence of the same length. However, also place the index of the element on top of the stack.
[ digit> ] dip Since the index is on top of the stack, the actual element of the sequence is underneath the index, so we use dip to apply a quotation to the object underneath the top of the data stack. digit> converts a code point to a digit.
1 + ^ Add one to the index (since it's zero-based) and raise the digit to this power.
Σ Sum.

Thunno 2 c, 7 bytes
Iædż*S=

Try it online!
Explanation
Iædż*S=  # Implicit input
I        # Inclusive range
 æ       # Filtered by:
  d      #  Split it into digits
   ż     #  Push [1..length]
    *    #  Exponentiation
     S   #  Sum this list
      =  #  Equals the number?
         # Implicit output

Arturo, 47 bytes
$=>[select&..&'n[0n=∑map digits n'x->x^<=1+]]

Try it!

PowerShell Core, 78 bytes
param($a,$b)$a..$b|?{$i=0
$s=0
"$_"|% t*y|%{$s+=,$_*++$i-join'*'|iex}
$s-eq$_}

Try it online!
Alternatively, also for 78 bytes: Try it online!

Java
s->{long i=0,j=0,c,d;for(;j!=s;){String []f=Long.toString(i).split("");for(d=0,c=0;d<f.length;)c+=Math.pow(Long.valueOf(f[d]),++d);if(i==c)j++;}return i;}

Explanation
s    - index
i    - iteration variable
j    - matches
c    - sum of each digit^its index
d    - index of digit in i

Python 3:  131 Bytes
n=int(input())
m=int(input())
R=[x for x in range(n,m+1)]
O=[sum(map(int,str(x)))for x in R]
F=[(x**(O.index(x)))for x in O]
L=[x for x in F for w in R if x==w]
print(list(set(L)))

After creating this code, it's become apparent that there are a limited number of disariums, so it might be more feasible to check for these explicitly rather than using so much list comprehension which is tough on big inputs to this solution.
Try it online!

SmileBASIC, 100 bytes
INPUT N,M
FOR I=N TO M
S=0FOR J=1TO LEN(STR$(I))S=S+POW(VAL(STR$(I)[J-1]),J)NEXT
IF S==I THEN?I
NEXT