text:
Maximum Recursion Depth
Does your language have a maximum recursion depth (MRD)?
Let's say your language has MRD=500
Write a code that finds the recursion depth and outputs the exact value
For the case above your program (or function) should output 500
Code-Golf
Shortest answer wins!

Could you please verify whether hardcoding the output if you know it is allowed or not?

@cairdcoinheringaahing  ..."that finds the recursion depth" means hardcoding is invalid

May we take an input of 0 (the "empty" integer input)? I actually don't think (really, know) if verbs in J can be executed without an input.

@cole Yes, if it is the only way..

I think the main problem with this challenge is that printing a hardcoded value is not allowed, but reading a hardcoded system variable is fine. The two don't really seem significantly different to me.

@DJMcMayhem built-ins many times use hardcoded information. This challenge allows built-ins.

Yes, that's my point. They're both simply reading a hardcoded value, but one is allowed and the other isn't.

@DJMcMayhem built-in in mathematica can also have the swiss flag (I have seen this challenge here), but posting the same flag as jpg is invalid.

What about languages that have call stack overflows (e.g. Java), but no hard recursion limit (in java, the number of times a function can call itself before error changes depending on available stack memory and other stuff). I could write a function that output how many times the function executed, but it wouldn't be a consistent value...

...And if the language doesn't have an inherent maximum recursion depth (for example, because it is dependent on the size of the stack, and thus highly variable depending on runtime circumstances)? Does that make it ineligible for this competition?

@SocraticPhoenix if that's the case, just output the current MRD

@CodyGray just choose another language which CAN compete

If it's valid to output the "current" max recursion depth, is it valid to modify the max recursion depth and then output the new value?

https://rosettacode.org/wiki/Find_limit_of_recursion

is a recursive function that runs forever due to tail-call optimization a valid submission?

Your comment to Cody Gray misses the point: it's not clear whether such languages can compete, and if so what they should output. Rather than answering the question as though they already know the answer, you should edit the challenge to be explicit about all the tricky cases.

Mathematica, 15 bytes
$RecursionLimit

¯\_(ツ)_/¯
Try it online!

Of course Mathematica has a built in for this! +1

Gotta love Mathematica +1

Emacs Lisp in the same vein (19): max-lisp-eval-depth

Python 3, 40 bytes
def f(x=2):
 try:f(x+1)
 except:print(x)

Try it online!
Without just reading it from the builtin. We start at 2 instead of 1 because the except clause is run one level before it errors. This is a byte shorter in python 2, of course.

JavaScript (Babel), 35 33 29 bytes
f=_=>do{try{-~f()}catch(e){}}

2 bytes saved thanks to Neil.

Try it here, or use the Snippet below to test it with eval instead of do.

console.log((f=_=>eval(`try{-~f()}catch(e){}`))())

Japt port, 24 bytes
It's not really worth posting this as a separate solution as it's, essentially, identical.
Ox`try\{-~rp()}¯t®(e)\{}

Test it

Explanation
JavaScript itself doesn't have a recursion limit per se, rather the limit is imposed by the interpreter (i.e., the browser) - good thing we define languages by their interpreter 'round here! Among other factors, the limit can vary by browser and available memory, which is impacted by the operations being performed. The following Snippet illustrates that last point, using the 5 different versions of this solution I went through. As you can see from the last 2 tests, in Chrome, at least, even the order of operations can make a difference.

console.log((f=(i=0)=>eval(`try{f(i+1)}catch(e){i}`))())
console.log((f=i=>eval(`try{f(-~i)}catch(e){i}`))())
console.log((f=(i=0)=>eval(`try{f(++i)}catch(e){i}`))())
console.log((f=_=>eval(`try{-~f()}catch(e){}`))())
console.log((f=_=>eval(`try{f()+1}catch(e){0}`))())
console.log((f=_=>eval(`try{1+f()}catch(e){0}`))())

Given that, we therefore don't have the convenience of a constant or method to work with. Instead, we're going to create a function that calls itself continuously before, eventually, crapping out. In it's simplest form that is:
f=_=>f()

But that's not much use to us for this challenge as it only throws an overflow error with no indication of how many times f called itself. We can avoid the error by trying to call f continuously and catching when it fails:
f=_=>{try{f()}catch(e){}}

No error, but still no return value of how many times the function managed to call itself before failing, because the catch isn't actually doing anything. Let's try evaluating the try / catch statement:
f=_=>eval(`try{f()}catch(e){}`)

Now we've got a value being returned (and, because this is code golf, saved ourselves a few bytes over using an actual return). The value being returned, though, is undefined, again because the catch isn't doing anything. Luckily for us -~undefined==1 and -~n==n+1 so, by popping a -~ in front of the call to f, we've essentially got -~-~ ... -~-~undefined, with another -~ prepended with each call, giving us the number of times f was called.
f=_=>eval(`try{-~f()}catch(e){}`)

Nice solution, since I'm assuming you don't have access to a recursion depth builtin in JS!

33 bytes: f=_=>eval('try{-~f()}catch(e){}')

@Neil: I saw your 34 byte version as I was going to bed and kicked myself for not thinking of it. That 33 byte version is inspired. Thanks.

Mathematica (no built-in), 20 bytes
#0[#+1];&@1
%[[1,1]]

Omitting the ; will calculate 1+$IterationLimit (probably because Mathematica tail-optimize the function). Alternatively 0 //. x_ -> x + 1 calculate ReplaceRepeated's default MaxIteration, that is, 65536 (which is larger than both value above).
(This is a code snippet which evaluates to the result. However the other Mathematica solution is also)

J, 8 bytes
1+$: ::]

Try it online!
So, I don't actually know how to execute a verb without any input and some brief searching (as well as personal intuition) makes it seem like that isn't possible. If it is, please let me know how to do it and I'll either delete or update my answer. It doesn't really make sense for a verb to be given no input, though. In light of this, the function given expects 0, the default "empty" input for integers. I can probably change it to use the empty array (0$0) if you think that's more befitting.
Edit: the OP has allowed the function to take 0.
Explanation
1+$: ::]
     ::]  Assign adverse: if an error occurs, call ] (the identify function)
1+        Add one to
  $:      Recursive call to self

This calls itself recursively, adding 1 to the input (0 expected) until it hits a stack error. When it errors, it calls the adverse (]-right identity) on the input, which is just 0.
By the way, the space is necessary.

outputs 6000 on my machine.  fwiw i think this should be fair game, but  you can always just make your answer (1+$: ::]) 0

@Jonah fair point, I'm used to submitting functions. On my machine, it's 6666 oddly enough.

6660 on an iPad pro. Cool!

The way it handles maximum recursion depth seems version dependent -- on my phone I get 5999 (which appears to be off by 1). On my iPad (honestly I don't remember which model), it just crashes.

Python 3, 41 32 bytes
import sys
sys.getrecursionlimit

Try it online!
Saved 9 bytes thanks to @FryAmTheEggman!
34 bytes
from sys import*
getrecursionlimit

35 bytes
__import__('sys').getrecursionlimit

The last 2 are thanks to @totallyhuman

32 bytes, 34 bytes and 35 bytes. Take your pick. :P

@FryAmTheEggman yes I can, thank you!

I'm getting an error (on TIO, at least) when trying to run the first 2.

@Shaggy you'll have to swap the lines for the first one, the import goes after in order to allow the builtin to be allocated a name. I'll update the link.

Java 8, 131 51 48 47 43 bytes
int d;int c(){try{c();}finally{return++d;}}

-80 bytes thanks to @Nevay. I tried a method instead of program as well, but made a mistake so ended up with a full program.. Now it's a method.
-3 bytes thanks to @Neil by making use of finally instead of catch(Error e).
-5 byte thanks to @Nevay again.
Explanation:
Try it here.
int d;                 // Depth-integer `d` on class-level (implicit 0)
int c(){               // Method without parameter and integer return-type
  try{c();}            //  Recursive call
  finally{return++d;}  //  Increase depth-integer `d` and always return it,
                       //   whether a StackOverflowError occurs or not
}                      // End of method

51 bytes: int c(){try{return-~c();}catch(Error e){return 1;}}

@Nevay Ah, so that's what I did wrong!! I had something similar at first, but not exactly, and couldn't get it to work (hence the program instead of method).. I now also know what I did wrong.. >.>

@Nevay You often post excellent answers in comments. You could post them as answers, and get some reputations. Nothing forbids any question from having several Java answers. ;-)

int c(){int n=1;try{n=-~c();}finally{return n;}} saves 3 bytes but gives me a different answer?

47 bytes: int c(){int n=1;try{n+=c();}finally{return n;}}

43 bytes: int d;int c(){try{c();}finally{return++d;}}

@Neil "saves 3 bytes but gives me a different answer?" Java has no set max recursion depth. It all depends on several factors. One of those is memory. And finally is a pretty good memory eater (the code is basically duplicated. Put a finally in a finally (in the same method, not in a called method) and your code will be quadruplicated. Not saying it's actually the root cause, but it's a factor.

Since int d Is outside the function, this doesn't count as a function. To make it valid make the whole thing a lambda function like this: https://codegolf.stackexchange.com/a/141334/46313

C (gcc, Linux x64), 180 133 bytes
-4 bytes thanks to @scottinet
c;f(){f(++c);}h(){exit(printf("%d",c));}main(){int b[512];f(sigaction(11,(int*[]){h,[17]=1<<27},sigaltstack((int*[]){b,0,2048},0)));}

Try it online!
Installs a SIGSEGV (signal 11) handler with an alternate signal stack (minimum size MINSIGSTKSZ is 2 KB, flag SA_ONSTACK is 0x08000000), then calls a function without arguments and no local variables recursively until the stack overflows. It's interesting that the maximum recursion depth varies across runs, probably due to ASLR.
The maximum recursion depth in C depends on a lot of factors, of course. On a typical 64-bit Linux system the default stack size is 8 MB, and the stack alignment is 16 bytes, so you get a recursion depth of about 512K for simple functions.
Also note that the program above doesn't work with -O2 because of tail call optimization.

+1! You can save 4 bytes by incrementing c and calling exit and sigaction as parameters. This doesn't make a noticable difference on the result: TIO link

R, 32 26 18 bytes
-8 bytes thanks to Sven Hohenstein : $ will do partial matching, so we can just use exp instead of the full expressions.
cat(options()$exp)

The options command can also be used to set the recursion depth, i.e., options(expressions=500) for 500.
Try it online!

You can save seven bytes by removing ressions due to partial matching with $.

More for future reference than as a contribution; is the consensus that you need to wrap this in cat()? R will output something in most circumstances, so is there a post somewhere clarifying good practice/logic to follow?

@SvenHohenstein dang, I always forget about that after I write R code in good style...Thank you!

@CriminallyVulgar see for instance this post in meta; there's certainly some uncertainty about it.

Octave, 25 22 20 bytes
2 bytes removed thanks to a suggestion by Sanchises
@max_recursion_depth

Anonymous function that outputs the value.
Try it online!

You don't need the (), as max_recursion_depth is also a function.

@Sanchises Thanks! You are right: even if the doc says it's a variable, it's actually a function

Your edit has turned this in a duplicate of the other Octave answer, hence my retained @ to keep it distinct (defining a function rather than REPL'ing the result).

@Sanchises Actually I just changed that, although for a different reason (the code should actually define a function)

Yeah the other answer is more like a program; I'm not sure if that should actually require disp (I would have included it, but that's my personal opinion on Octave REPL, and I am not sure of any meta consensus on that)

@Sanchises Yes, I've read about that on Meta in the past and I don't think it's really settled. My opinion is like yours, I would have included disp

Octave, 19 bytes
max_recursion_depth

Usage:
octave:1> max_recursion_depth
ans =  256

zsh, 24 bytes
f(){f $[++i];f};set -x;f

Try it online! (See under debug)
Or 12 bytes if hardcoded values are allowed (From GammaFunction):
<<<$FUNCNEST

bash, 24 bytes
f(){ f $[++i];};set -x;f

Try it online! (See under debug)
ksh93, 27 bytes
f(){ f $(($1+1));};set -x;f

Try it online! (See under debug)
dash, 27 bytes
f(){ f $(($1+1));};set -x;f

Try it online! (Exceeds tio debug output, run it in your own shell)

Should i=0 and the echo not be included in your byte count?

@Shaggy: Perhaps, I have changed it to a more self-contained solution

Zsh: <<<$FUNCNEST for 12 bytes

Lua, 52 bytes
f=load"b,e=pcall(f,(...or 3)+1)return b and e or..."

Try it online!

@Shaggy in this case yes, because I use the name f. If this wasn't recursive I could get away with not having it

Ah, I didn't spot the f in pcall.

why does your program stops at 200? here you can see that in that simple function it goes beyond 200. if you remove the -- you can confirm that it is still a recursive call with no optimizations

q/kdb+, 16 bytes
Solution:
{@[.z.s;x+1;x]}0

Example:
/ solution
q){@[.z.s;x+1;x]}0
2000

/ without apply (try/catch)
q){.z.s x+1}0
'stack
@
{.z.s x+1}
2001

Explanation:
Try to recurse, increase x by one each time, if error, return x.
{@[.z.s;x+1;x]}0 / the solution
{             }0 / call lambda function with 0
 @[    ;   ; ]   / @[function;argument;catch]
   .z.s          / call self (ie recurse)
        x+1      / increment x
            x    / return x if function returns error

Excel-VBA, 26 Bytes
?Application.MaxIterations

Not recursion depth per-se, this actually outputs the maximum number of iterations for a cell in an Excel worksheet. Given that the output pertains to a language other than the language in which this is written, perhaps this is more appropriate:
Excel + Excel-Vba, 3 + 38 = 41 Bytes
Function f:f=Application.MaxIterations

As that can be called from a cell with
=f(

For VBA with no built in:
Excel-VBA, 53 44 40 bytes
-9 as variable no longer needs to be initialised or printed
-4 as code execution no longer has to be ended to avoid multiple prints
Sub s:[A1]=[A1]+1:On Error Resume Next:s

Call with s in the immediate window, outputs to cell A1 of the worksheet
(warning takes a while to run now, add Application.ScreenUpdating = False first)

Lua, 45 37 bytes
x=2
f=load"x=x+1;f()"pcall(f)print(x)

Try it online!
I don't know which value to initialize x with as I don't know the number of intermediary calls there are...

Clojure, 72 55 48 bytes
-23 bytes by getting rid of the atom
-7 bytes thanks to @madstap. Switched to using fn over def and #(), and pr over println.
((fn f[i](try(f(inc i))(catch Error e(pr i))))0)

Wrote and tested on my phone. The Clojure REPL app gave me a depth of 13087.
Basic solution. Recurse until a SO is thrown, incrementing a counter each recurse. When it's thrown, the value of the counter is printed.

You can save 5 bytes by using pr instead of println. Also -2 bytes by making the fn like this: ((fn f[x](,,,))0) instead of (def f #(,,,))(f 0).

@madstap Thanks. I'll make the changes in a bit.

VBA, any type, 41 39 bytes
Function A:On Error Resume Next:A=A()+1

Call using ?A() in the Immediate window, or as worksheet function.
Note: Returns 4613 in Excel-VBA, while the answer by @Greedo returns 3666 on my system (highest should be the max). Apparently also varies between Office programs (Access-VBA returns 4622, Word-VBA 4615)
Edit: Guess VBA auto-adds parantheses, so removed them.

Pyth - 9 bytes
L.xyhbbyZ

If I can run it like the J answer above, this is 7 bytes because you can take out the last yZ.
Try it online here.

This doesn't work for me. Offline, I get a segmentation fault. Online, I get no output at all. You can't catch a segfault.

@isaacg wait this is really weird. Online, it rarely gives 764, but you're right most of the time it gives no output.

Forth, 48 bytes
Loops until it hits the limit.
: m 1+ recurse ;
: f 0 ['] m catch drop ; f .

Try it online

Tcl, 18 bytes
puts [interp r {}]

Try it online!
recursionlimit can be abbreviated to r

Tcl, 31 bytes
puts [interp recursionlimit {}]

Try it online!

Tcl, 49 bytes
proc R {i\ 1} {if [catch {R [incr i]}] {puts $i}}

Try it online!

Ruby, 39 bytes
END{p$.}
$stderr=$<
f=->{$.+=1;f[]}
f[]

Suppressing the error message is a little shorter than rescuing it, since by default rescue doesn't catch SystemStackError.
There's a cheesier answer if I can output in unary, representing n with n consecutive newline characters:
Ruby, 35 bytes
$stderr=$<
f=->{puts;$.+=1;f[]}
f[]

Jelly, 18 bytes
:( *
“¡żuẋ×HẒpƙ7"8!ƭ»ŒV

Try it online!
How?
* Since Jelly as far as I am aware:
(1) sets the Python recursion limit prior to setting up much of its own interpreter and parsing the code to be run; and
(2) has no way of catching Python errors
I'm not sure if there is a way to either reliably evaluate the recursion limit or to print it out as it is discovered other than to actually ask Python what the value was set to (I'd love to see if it can be done though!) so that's what the code here does:
“¡żuẋ×HẒpƙ7"8!ƭ»ŒV - Link: no arguments
“¡żuẋ×HẒpƙ7"8!ƭ»   - compression of "sys."+"get"+"recursion"+"limit"+"()"
                ŒV - evaluate as Python code


text:
Shifting digits
Given a string representing a number and the base that number is in, shift each positional value upward, wrapping back to zero if the value cannot increase. You will never be provided invalid input, nor a base larger than 36.
For example, you may be provided ['5f6', '16'], which represents the number 1526 in base 16. The expected output in that case would be '607' (1543 in base 16).
Input

program: separate lines from STDIN: '5f6\n16'
function: a tuple or array: f(['5f6', '16']) or f(['5f6', 16])
function: two arguments f('5f6', '16') or f('5f6', 16)

Output

program: to STDOUT: 607
function: returned as a string: '607'

Test cases
['5f6', '16']
'607'

['abc', '36']
'bcd'

['1', '1'] or ['0', '1']
'1' or '0'

['9540', '10']
'0651' or '651'

['001', '2']
'110'

Is the input format that strict, or can I take the input for my program as, say, "5f6"\n16?

@ETHproductions: That would be acceptable.

What is the answer for ['999', '10']?

@tsh: That would be '000'

Are we allowed to use uppercase letters instead of lowercase letters? Also do we have to handle base 1?

@FryAmTheEggman: Uppercase and lowercase are both acceptable. Base 1 is also an acceptable input.

This isn't shifting, this is incrementing each digit.  i.e. add-without-carry of 1111111111... in whatever base.

You haven't specified what base 1 input will look like. Since unary isn't a positional number system I wouldn't require supporting it if I were you, but if you do you should specify what digit is used.

@Jakob: I've add some test cases; including a case for base 1.

Is it okay if we use 0 for base 1 (Third test case would be [0,1]=>1)? My case: n is never used in base n, since there's no 2 in binary, 3 in ternary, etc.

@Zacharý: Sure, that's acceptable. I'll modify that test case.

Paradoc (v0.2.10), 10 bytes (CP-1252)
DaÅ+<:<oTr

Try it online!
Takes the string and the base as an integer from the stack, results in a string on the stack.
Whoops, I don't know why I don't have a 0-9A-Z constant yet. It would shave two bytes. (Assumes input is uppercase; for lowercase replace Å with La.)
Explanation:
Da         .. Push the digit alphabet
  Å        .. Push the uppercase alphabet
   +       .. Concatenate them
    <      .. Take the slice of the first (base) characters
     :     .. Duplicate
      <o   .. Left-rotate by one
        Tr .. Translate through the last two strings

Japt, 10 bytes
®nV Ä sV Ì

Test it online!
The 3-byters nV  and sV  are rather annoying...
Explanation
 ®   nV Ä  sV Ì
UmZ{ZnV +1 sV gJ}   Ungolfed
                    Implicit: U = input string, V = base
UmZ{            }   Map each char in Z to
    ZnV               Z converted from base V to decimal,
        +1            plus 1,
           sV         converted back to base V,
              gJ      and shortened to only the last char. (J = -1)
                    Implicit: output result of last expression

Python 2, 77 74 72 bytes
lambda s,m:''.join(chr(c+[48,55][c>9])for c in[-~int(x,m)%m for x in s])

Try it online!
Takes a string and an int base. Works up to base 36.

69 bytes

JavaScript, 57 bytes
(a,b)=>a.replace(/./g,v=>(-~parseInt(v,b)%b).toString(b))

Save a byte with currying: a=>b=>

This doesn't function with base 1

@Bálint I wouldn't expect any solution to work with base 1...

@ETHproductions Quoting one of the comments from OP "Base 1 is also an acceptable input"

@Bálint: Acceptable, not required. Also, comments do not a spec make.

@Shaggy But is currying valid for this question?

@Bálint what does base 1 mean? input some zeroes and output them as is?

@tsh currying is valid for every question. And yes. See the Jelly answer

Why wouldn't it be valid? Currying is only (currently) "illegal" if you're not passing an argument to the second function. i.e., f(a)(b) is OK but f(a)() isn't (currently).

@Shaggy But the question require "from STDIN", or "input a pair", or "input with two paramter". And the requirement from question override the default one.

Jelly, 15 12 bytes
3 bytes thanks to Jonathan Allan.
ØBiÐ€⁸%⁹‘ịØB

Try it online!
How it works
ØBiÐ€⁸%⁹‘ịØB
ØB           "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  iÐ€⁸       index of each in first input
      %⁹     modulo the second input
        ‘    increase by 1
         ị   index into
          ØB "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"

ØBiÐ€⁸%⁹‘ịØB for 12 bytes (uppercase acceptable)

Nice answer, +1. Guess you wish Jelly had builtins for string <-> number base conversions, though, huh? Also, can you please explain how this works (mainly the order in which it's parsed)?

@Zacharý added.

Pyth, 11 10 bytes
.rE<+jkUTG

Try it here
Thanks to Mr. XCoder for saving 1 byte!
We use .r to cyclically rotate over the alphabet of the given base. We build that using G as the built in alphabet, and then a range of numbers, and slicing off the excess.

The notification I got of your answer said "Pyth, 0 bytes" and I almost did a spit take! 11 bytes is still great, though. :-)

@ZachGates Haha, that was caused by me copying an empty TIO body link and then filling it out to save me the trouble of typesetting the answer. Unfortunately I forgot to change the byte count, but the edit that happened in the grace period doesn't get reflected in the notification I think. I hope I didn't startle you too much :P

10 bytes (.rE<+jkUTG). I have absolutely no idea why you have a J in there, as you only use it once.

@Mr.Xcoder Whoa, I guess that's what golfing at 1am does to someone.

C, 75 74 65 bytes
Thanks to @tsh for saving 9 bytes!
f(n,b)char*n;{for(;*n;++n)*n=*n-b-(b>10?86:47)?*n-57?*n+1:97:48;}

Modifies the input string directly.
Try it online!

05AB1E, 10 bytes
ö¹в>¹%¹β¹B

Try it online!

This seems pretty fitting, as 05AB1E came from base. Also, can you add an explanation of what all those b's mean?

@Zacharý They're all base stuff including the ö :p

MY, 8 bytes
αωP‘%pέ←

I definitely made the right choice adding the basify (P) and stringify (p) atoms!
Try it online!
How it works, along with a reason for the codepoint

α, push the second command line argument (taken from APL, but it's the greek symbol instead of the APL one)
ω, push the first command line argument (also taken from APL)
P, pop n; push n basified (0-Z => 0-35, b flipped is p)
‘, pop n; push n + 1 (vectorizes ["vecifies" in MY], taken from jelly)
%, pop a; pop b; push a%b (vecifies, do I really need to give this to you?)
p, pop n; push n stringified (0-35 => 0-Z, vecifies, same origin as P)
έ, pop n; push "".join(n) (ε is the empty string, and just put an accent mark over it)
←, pop n; output n with no newline. (Pushing it away from the stack to STDOUT)

THIS is what MY was meant for!

MY is winning! Holy crap!

I can't believe MY is outgolfing the language named after base!

Haskell, 65 64 59 bytes
map.(%)
b%c|mod(fromEnum c-b)39==8='0'
_%'9'='a'
_%c=succ c

Try it online! Usage: map.(%) $ 16 "5f6" yields "607".
Edit: -1 byte thanks to nimi, -5 bytes thanks to Ørjan Johansen.

A multiline definition of % saves a byte.

@nimi Thanks! It's always nicer to have powers of 2 as byte count.

A shorter test for the second line: mod(fromEnum c-b)39==8.

@ØrjanJohansen Thanks! Switching to upper-case letters even saves another byte.

Um you cannot use upper-case letters for this trick - the modulus needs to be larger than the highest base supported, otherwise it gives false positives.

@ØrjanJohansen Indeed.

PHP, 83 bytes
while(($c=$argv[1][$i++])>'')echo base_convert(intval($c,$b=$argv[2])+1,10,$b)[-1];

Try it online!

Python, 81 78 74 87 86 bytes
import string
lambda a,b:''.join(string.printable[-~int(i,b)%b]for i in a)if b>1else a

Alternatively:
lambda a,b:''.join(__import__('string').printable[-~int(i,b)%b]for i in a)if b>1else a

f('6f3', '32') get wrong output '7164'

@tsh: Absolutely right. Fixed.

(x+1)%y -> -~x%y,

@tsh: Beat me to it. I was trying to figure out that bit flip right now. Thanks :-)

What is [:b] used?

@tsh: I replaced [:36] with [:b] to drop a byte. Only the first b characters of string.printable are relevant to a given base.

Let us continue this discussion in chat.

You can remove the space between 1 and else.

Mathematica, 62 bytes
(h=#2;""<>ToString/@(Mod[#~FromDigits~h+1,h]&/@Characters@#))&

Try it online!

Ruby, 53 59 bytes
->n,b{b<2?n:n.chars.map{|c|(c.to_i(b)+1).to_s(b)[-1]}.join}

Try it online!
Originally 6 bytes less, but Ruby doesn't like using a base of 1.
Could save 5 bytes by removing .join if the output did not need to be a string.

You can remove two spaces from the start.

Charcoal, 23 21 bytes
≔…⁺⪫ＥχＩιωβＮθＦＳ§θ⁺¹⌕θι

Try it online! Link is to verbose version of code. Edit: Saved 2 bytes by using CycleChop instead of Slice. Explanation:
    Ｅχ                  Loop over the digits
      Ｉι                Cast to string
   ⪫    ω               Join together
  ⁺      β              Append the lowercase letters
          Ｎ             First input as a number
 …                      Take `n` characters from the start
≔          θ            Assign to variable `q`
            ＦＳ          Loop over the characters in the second input
                  ⌕θι   Find the character index in `q`
                ⁺¹      Plus 1
              §θ        Cyclically index in `q`
                        Implicitly print

Note: Later versions of Charcoal reduce this to 20 bytes: ≔…⁺⪫ＥχＩιωβＮθＦＳ§θ⊕⌕θι

use the AST to help explain when the deverbosifier is out of order :P (also yeah i came across that bug too whoops)

PHP, 87 bytes
list(,$a,$b)=$argv;for(;$c=intval($a{$i++},$b);)echo$b>1?base_convert(++$c%$b,10,$b):1;

Run with -r like this:
php -r "list(,$a,$b)=$argv;for(;$c=intval($a{$i++},$b);)echo$b>1?base_convert(++$c%$b,10,$b):1;" xyz 36

Works with bases 1 to 36, inclusive.

Bash, 71 bytes
b=({0..9} {a..z})
for c in `fold -w1<<<$1`;{ echo -n ${b[-~$2#$c%$2]};}

Try it online!

Perl 5 -lF, 61 53 bytes
$l=(0..9,a..z,aa)[<>];say map{++$_;/$l/?0:s/10/a/r}@F

Try it online!

Stax, 6 bytes
╕W─░ì]

Run and debug it
Procedure:

Push constant "0123456789abcdefghijklmnopqrstuvwxyz".
Get and eval base, now two spots down the stack
Truncate digit string to specified count.
"Ring" translate using remaining characters.  This maps each character to the next, wrapping around to "0" at the end.

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:
Fit a word into an alphabet grid
Inspired by a meme I saw earlier today.
Challenge description
Consider an infinite alphabet grid:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ
...

Take a word (CODEGOLF in this example) and make it a subsequence of the grid, replacing unused letters by a space and removing letters at the end of the infinite grid altogether:
  C           O
   DE G       O
           L
     F

Examples
STACKEXCHANGE
                  ST
A C       K
    E                  X
  C    H
A            N
      G
    E

ZYXWVUTSRQPONMLKJIHGFEDCBA
                         Z
                        Y
                       X
                      W
                     V
                    U
                   T
                  S
                 R
                Q
               P
              O
             N
            M
           L
          K
         J
        I
       H
      G
     F
    E
   D
  C
 B
A

F
     F

ANTIDISESTABLISHMENTARIANISM
A            N     T
        I
   D    I         S
    E             ST
AB         L
        I         S
       H    M
    E        N     T
A                R
        I
A            N
        I         S
            M

Notes

Trailing whitespaces are allowed.
You don't need to pad the last any line with spaces. For example, if the input is ABC, you may output just ABC without 23 trailing spaces.
You may assume input will match [A-Z]+ regex.
Alternatively, you may use lower-case alphabet, in which case output will match [a-z]+.
You must use a newline (\n, \r\n or equivalent) to separate lines, that is a list of strings is not a proper output format.
This is a code-golf challenge, so make your code as short as possible!

Are leading newlines allowed?

@EriktheOutgolfer Sure, as long as it doesn't mess up grid structure.

Would it be okay if a non-fatal error stops the program?

@Zacharý Although I can see how that could save some bytes, I think it's ugly and produces undesired, superfluous output. So no. EDIT: Unless you can make your program non-fatally exit through an exit code or something that wouldn't print exception stack trace or something similar to stderr.

Okay, my answer doesn't error.

list of strings is not a proper output format Do you mean the list containing each line, or any type of list of strings?  This meta consensus states that a list of characters (i.e. each element is a single character) is a valid string, mainly because some languages lack such distinction.

@JungHwanMin Yeah, I realize that.By "list of lines" i mean specifically output like ["AB(...)", "(...)XYZ", "(...)"]

Suggested test case: BALLOON (two adjacent characters that are the same).

Go the answer in PHP
https://gist.github.com/elminson/37d3caa43033f901dd100386f7ae7bde

Husk, 15 bytes
TṪS`?' €…"AZ"ġ>

Try it online!
Explanation
TṪS`?' €…"AZ"ġ>  Implicit input, e.g. "HELLO"
             ġ>  Split into strictly increasing substrings: x = ["H","EL","LO"]
        …"AZ"    The uppercase alphabet (technically, the string "AZ" rangified).
 Ṫ               Outer product of the alphabet and x
  S`?' €         using this function:
                   Arguments: character, say c = 'L', and string, say s = "EL".
       €           1-based index of c in s, or 0 if not found: 2
  S`?'             If this is truthy, then c, else a space: 'L'
                 This gives, for each letter c of the alphabet,
                 a string of the same length as x,
                 containing c for those substrings that contain c,
                 and a space for others.
T                Transpose, implicitly print separated by newlines.

Java 10, 161 159 152 bytes
s->{var x="";int p=0;for(var c:s)x+=p<(p=c)?c:";"+c;for(var y:x.split(";"))System.out.println("ABCDEFGHIJKLMNOPQRSTUVWXYZ".replaceAll("[^"+y+"]"," "));}

-2 bytes thanks to @Nevay.
-7 byte printing directly instead of returning a String, and converting to Java 10.
Explanation:"
Try it here.
s->{                      // Method with String parameter and no return-type
  var x="";               //  Temp-String
  int p=0;                //  Previous character (as integer), starting at 0
  for(var c:s)            //  Loop (1) over the characters of the input
    x+=p<(p=c)?           //   If the current character is later in the alphabet
                          //   (replace previous `p` with current `c` afterwards)
        c                 //    Append the current character to Temp-String `x`
       :                  //   Else:
        ";"+c;            //    Append a delimiter ";" + this character to Temp-String `x`
  for(var y:x.split(";")) //  Loop (2) over the String-parts
    System.out.println(   //   Print, with trailing new-line:
     "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                          //    Take the alphabet,
        .replaceAll("[^"+y+"]"," "));}
                          //    and replace all letters not in the String-part with a space

The first part of the method splits the input-word into parts with a delimiter.
For example: CODEGOLF → CO;DEGO;L;F or BALLOON → B;AL;LO;O;N.
The second part loops over these parts, and uses the regex [^...] to replace everything that isn't matched with a space.
For example .replaceAll("[^CO]"," ") leaves the C, and O, and replaces everything else with a space.

Wouldn't it be B;AL;LO;O;N?

-2 bytes: for(char c:s)x+=p<(p=c)?c:";"+c;.

C (gcc), 69 bytes
i;f(char*s){for(i=64;*s;putchar(*s^i?32:*s++))i+=i^90?1:puts("")-26;}

Try it online!

MATL, 24 23 bytes
''jt8+t1)wdh26X\Ys(26e!

Uses lowercase letters.
Try it at MATL Online!
Explanation
''     % Push empty string
jt     % Push input string. Duplicate
8+     % Add 8 to each char (ASCII code). This transforms 'a' 105,
       % 'b' into 106, which modulo 26 correspond to 1, 2 etc
t1)    % Duplicate. Get first entry
wd     % Swap. COnsecutive differences.
h      % Concatenate horizontally
26X\   % 1-based modulo 26. This gives a result from 1 to 26
Ys     % Cumulative sum
(      % Write values (converted into chars) at specified positions
       % of the initially empty string
26e    % Reshape into a 26-row char matrix, padding with char 0
!      % Transpose. Implicitly display. Char 0 is shown as space

Perl 5, 44 bytes
40 bytes code + 4 for -lF.
print map/$F[0]/?shift@F:$",A..Z while@F

Try it online!

The link you've posted is for 46 bytes version.

@ThePirateBay Thanks!! I knew I hadn't updated something!

Python 2, 92 bytes
f=lambda x,y=65:x and(y<=ord(x[0])and" "*(ord(x[0])-y)+x[0]+f(x[1:],-~ord(x[0]))or"\n"+f(x))

Try it online!

90 bytes

Japt, 18 16 bytes
-2 bytes thanks to @Shaggy
;ò¨ £B®kX ?S:Z
·

Uppercase input only.
Try it online!
Explanation
;

Switch to alternate variables, where B is the uppercase alphabet.
ò¨

Split the input string between characters where the first is greater than or equal to (¨) the second.
£

Map each partition by the function, where X is the current partition.
B®

Map each character in the uppercase alphabet to the following, with Z being the current letter.
kX

Remove all letters in the current partition from the current letter. If the current letter is contained in the current partition, this results in an empty string.
?S:Z

If that is truthy (not an empty string), return a space (S), otherwise return the current letter.
·

Join the result of the previous line with newlines and print the result.

10 bytes for r"[^{Z}]"S seems a bit ridiculous, but I can't find any better way either...

17 bytes

16 bytes

@Shaggy Good thinking with kX!

Actually I think you can change kX ?S:Z to oX ªS to save two bytes

JavaScript (ES6), 79
Edit As a leading newline is accepted, I can save 2 bytes
s=>eval("for(o='',v=i=0;c=s.charCodeAt(i);v%=27)o+=v++?c-63-v?' ':s[i++]:`\n`")

For 1 byte more, I can accept lowercase or uppercase input:
s=>eval("for(o='',v=i=0;c=s[i];v%=27)o+=v++?parseInt(c,36)-8-v?' ':s[i++]:`\n`")

Less golfed
s=>{
  var i,o,c,v
  for(o = '', v = 1, i = 0; c = s.charCodeAt(i); v %= 27)
    o += v++ ? c-63-v ? ' ' : s[i++] : '\n'
  return o
}

Test

f=s=>eval("for(o='',v=i=0;c=s.charCodeAt(i);v%=27)o+=v++?c-63-v?' ':s[i++]:`\n`")

function update() {
  var i=I.value
  i=i.replace(/[^A-Z]/gi,'').toUpperCase()
  O.textContent=f(i)
}

update()
<input id=I value='BALLOON' oninput='update()' >

You can replace the \n with a literal newline inside backticks for -1 byte.

@JustinMariner no I can't, not inside the double quote in eval

Oh right, that's a shame. My bad.

C (gcc), 91 63 bytes
-28 thanks to ASCII-only
_;f(char*s){for(_=64;*s;)putchar(++_>90?_=64,10:*s^_?32:*s++);}

Try it online!

Previous:
i,j;f(char*s){while(s[i]){for(j=65;j<91;j++)s[i]==j?putchar(s[i++]):printf(" ");puts("");}}

Yes, there's a shorter solution, but I noticed after I wrote this one... Try it online!

82 bytes, 80 if leading newline is allowed

73

63

Pyth, 18 bytes
#pbVGp?JqhzNNd=>zJ

Try it here.
Leading newline in output, lowercase alphabet.

Jelly, 19 bytes
<2\¬0;œṗfȯ⁶$¥€@€ØAY

Try it online!

OI<1®; -> >2\0; to save  one byte (I actually did >2\0;œṗµØAf€ȯ€⁶µ€Y for 18 too, which I personally find easier to parse)

@JonathanAllan I think that would fail for BALLOON or something.

You are correct, yes - so it would required another byte with something like <2\1;¬; oh well.

@JonathanAllan Anyways, I'll implement your idea in my answer...done.

05AB1E, 18 bytes
ćIgµ¶?AvDyÊið?ë¼?ć

Try it online!
Got trouble with 05AB1E ć (extract 1) leaving an empty string/list on the stack  after the last element is extracted. This solution would be 1-2 bytes shorter if it weren't for that.
ćIgµ¶?AvDyÊið?ë¼?ć  Implicit input
ć                   Extract the 1st char from the string
 Igµ                While counter != length of the string
    ¶?              Print a newline
      Av            For each letter of the lowercased alphabet
        DyÊ         Is the examined character different from the current letter?
           ið?      If true, then print a space

              ë¼?ć  Else increment the counter, print the letter and push
                    the next character of the string on the stack

Actually, ð, means "print a space and a newline".

You're right. Fixed the code to actually print a newline.

Mathematica, 101 bytes
StringRiffle[
  Alphabet[]/.#->" "&/@
   (Except[#|##,_String]&@@@
     Split[Characters@#,#==1&@*Order]),"
",""]&

Split the input into strictly increasing letter sequences, comparing adjacent letters with Order. If Order[x,y] == 1, then x precedes y in the alphabet and thus can appear on the same line.
For each sequence of letters, create a pattern to match strings Except for those letters; #|## is a shorthand for Alternatives. Replace letters of the Alphabet that match the pattern with spaces.

Illustration of the intermediate steps:
"codegolf";
Split[Characters@#,#==1&@*Order]  &@%
Except[#|##,_String]&@@@         #&@%
Alphabet[]/.#->" "&/@               %

{{"c", "o"}, {"d", "e", "g", "o"}, {"l"}, {"f"}}

{Except["c" | "c" | "o", _String],
 Except["d" | "d" | "e" | "g" | "o", _String],
 Except["l" | "l", _String],
 Except["f" | "f", _String]}

{{" "," ","c"," "," "," "," "," "," "," "," "," "," "," ","o"," "," "," "," "," "," "," "," "," "," "," "},
 {" "," "," ","d","e"," ","g"," "," "," "," "," "," "," ","o"," "," "," "," "," "," "," "," "," "," "," "},
 {" "," "," "," "," "," "," "," "," "," "," ","l"," "," "," "," "," "," "," "," "," "," "," "," "," "," "},
 {" "," "," "," "," ","f"," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "}}

Zsh, 65 bytes
-4 bytes thanks to @pxeger, -2 bytes thanks to @roblogic
repeat $#1;echo&&for y ({A-Z})printf ${(Ml:1:)1[1]%$y}&&1=${1#$y}

Try it online!
Try it online!

Try it online!
Append to $s a (M) matched letter, (l:1:) left-padded to one character, then remove the letter if it matches the start of $1.

-4 on the second solution: Try it online!

Rules don't permit leading spaces, but nice 3 byte save

It is allowed: "Are leading newlines allowed?" -- "Sure, as long as it doesn't mess up grid structure."

Ah, I didn't read the comments, just the main post.

Save 1 byte using repeat $#1  instead of for ((;#1;))

Save another byte using setopt braceccl :) try it online

Retina, 130 126 bytes
$
¶A
{-2=`
$'
}T`RL`_o`.$
+`(?<=(.)*)((.).*¶(?<-1>.)*(?(1)(?!)).+\3.*$)
 $2
(?<=(.)*)((.).*¶(?<-1>.)*(?<-1>\3.*$))
¶$2
}`¶.*$

Try it online! Edit: Saved 4 bytes by using @MartinEnder's alphabet generator. Explanation:
$
¶A
{-2=`
$'
}T`RL`_o`.$

Append the alphabet.
+`(?<=(.)*)((.).*¶(?<-1>.)*(?(1)(?!)).+\3.*$)
 $2

Align as many letters as possible with their position in the alphabet.
(?<=(.)*)((.).*¶(?<-1>.)*(?<-1>\3.*$))
¶$2

Start a new line before the first letter that could not be aligned.
}`¶.*$

Delete the alphabet, but then do everything over again until there are no misaligned letters.

This seems to print only one line, not aligning letters on subsequent lines.

@JustinMariner My bad, I made a typo in my last golf and failed to check it properly.

Golfscript, 22 21 bytes
Try it online!
-1 byte thanks to careful final redefining of the n built-in.
{.n>{}{'
'\}if:n}%:n;

Explanation (with a slightly different version):
{.n>{}{"\n"\}if:n}%:n; # Full program
{                }%    # Go through every character in the string
 .n>         if        # If ASCII code is greater than previous...
                       # (n means newline by default, so 1st char guaranteed to fit)
    {}                 # Do nothing
      {"\n"\}          # Else, put newline before character
               :n      # Redefine n as the last used character
                   :n; # The stack contents are printed at end of execution
                       # Literally followed by the variable n, usually newline
                       # So because n is by now an ASCII code...
                       # ...redefine n as the new string, and empty the stack

Retina, 80 bytes
^
;¶
{`;.*
¶;ABCDEFGHIJKLMNOPQRSTUVWXYZ
¶¶
¶
)+`;(.*)(.)(.*¶)\2
$.1$* $2;$3
;.*

Try it online!
There is always exactly one leading newline. The code somewhat clunkily prepends the word with the alphabet along with a marker (semicolon).  It then moves the marker up to the first letter of the word, while changing all other letters it passes into spaces. It also removes the first letter of the word. It repeats this until the first letter of the word isn't after the marker anymore. Then it clears that marker and the rest of the alphabet, and replaces it with a new line and the alphabet with a marker again. It keeps repeating this until the input word is empty, then it cleans up the last alphabet and marker, leaving the desired output.

q/kdb+, 48 45 bytes
Solution:
-1{@[26#" ";.Q.A?x;:;x]}@/:(0,(&)(<=':)x)_x:;

Try it online!
Note: Link is to a K (oK) port of this solution as there is no TIO for q/kdb+.
Examples:
q)-1{@[26#" ";.Q.A?x;:;x]}@/:(0,(&)(<=':)x)_x:"STACKEXCHANGE";
                  ST
A C       K
    E                  X
  C    H
A            N
      G
    E

q)-1{@[26#" ";.Q.A?x;:;x]}@/:(0,(&)(<=':)x)_x:"BALLOON";
 B
A          L
           L  O
              O
             N

Explanation:
Q is interpreted right-to-left. The solution is split into two parts. First split the string where the next character is less than or equal to the current:
"STACKEXCHANGE" -> "ST","ACK","EX","CH","AN","G","E"
Then take a string of 26 blanks, and apply the input to it at the indices where the input appears in the alphabet, and print to stdout.
"__________________________" -> __________________ST______
Breakdown:
-1{@[26#" ";.Q.A?x;:;x]}each(0,where (<=':)x) cut x:; / ungolfed solution
-1                                                  ; / print to stdout, swallow return value
                                                  x:  / store input as variable x
                                              cut     / cut slices x at these indices
                            (               )         / do this together
                                     (<=':)x          / is current char less-or-equal (<=) than each previous (':)?
                               where                  / indices where this is true
                             0,                       / prepended with 0
                        each                          / take each item and apply function to it
  {                    }                              / lambda function with x as implicit input
   @[      ;      ; ; ]                               / apply[variable;indices;function;arguments]
     26#" "                                           / 26 take " " is "      "...
            .Q.A?x                                    / lookup x in the uppercase alphabet, returns indice(s)
                   :                                  / assignment
                     x                                / the input to apply to these indices

Notes:

-3 bytes by replacing prev with the K4 version

Python 3, 87 85 bytes
def f(s,l=65):c,*t=s;o=ord(c)-l;return o<0and'\n'+f(s)or' '*o+c+(t and f(t,o-~l)or'')

Try it online!

R, 129 117 bytes
function(s){z={}
y=diff(x<-utf8ToInt(s)-64)
z[diffinv(y+26*(y<0))+x[1]]=LETTERS[x]
z[is.na(z)]=" "
write(z,1,26,,"")}

Try it online!
Explanation (ungolfed):
function(s){
 z <- c()                  # initialize an empty vector
 x <- utf8ToInt(s)-64      # map to char code, map to range 1:26
 y <- diff(x)              # successive differences of x
 idx <- cumsum(c(          # indices into z: cumulative sum of:
    x[1],                  # first element of x
    ifelse(y<=0,y+26,y)))  # vectorized if: maps non-positive values to themselves + 26, positives to themselves
 z[idx] <- LETTERS[x]      # put letters at indices
 z[is.na(z)] <- " "        # replace NA with space
 write(z,"",26,,"")        # write z as a matrix to STDOUT ("") with 26 columns and empty separator.

J, 39 bytes
(_65+3 u:[)}&(26{.'')/.~0+/\@,2>:/\3&u:

Try it online!

Charcoal, 15 bytes
Ｆθ«Ｊ⌕αι⁺ⅉ‹⌕αιⅈι

Try it online! Link is to verbose version of code. Explanation:
 θ              Input string
Ｆ «             Loop over characters
     α     α    Uppercase letters predefined variable
      ι     ι   Current character
    ⌕     ⌕     Find index
             ⅈ  Current X co-ordinate
         ‹      Compare
        ⅉ       Current Y co-ordinate
       ⁺        Sum
   Ｊ            Jump to aboslute position
              ι Print current character

APL (Dyalog Classic), 20 bytes
⊃¨⎕a∘.∩⍨⊢⊂⍨1,2≥/⎕a⍳⊢

Try it online!

K (ngn/k), 29 28 bytes
{{x@x?`c$65+!26}'(&~>':x)_x}

Try it online!
{ } function with argument x
>':x for each char, is it greater than the previous char?
~ negate
& where (at which indices) do we have true
( )_x cut x at those indices, return a list of strings
{ }' for each of those strings
`c$65+!26

the English alphabet
x? find the index of the first occurrence of each letter in x, use 0N (a special "null" value) if not found
x@ index x with that; indexing with 0N returns " ", so we get a length-26 string in which the letters from x are at their alphabetical positions and everything else is spaces

Powershell, 70 63 bytes
-7 bytes thanks @Veskah
$args|%{if($_-le$p){$x;rv x}
$x=("$x"|% *ht($_-65))+($p=$_)}
$x

Try it online!
Explanation:
For each character in the splatted argument:

Output string $x and clear $x value (rv is alias for Remove-Variable), if a code of the current character less or equivalent (-le) to a code of the previous character.
Append spaces and the current character to $x, store it to $x. Also it freshes a previous character value.

Output last $x.

63 Bytes using splatting. Tried to use |% *ht to save some bytes but looks like it broke even.

R, 95 bytes
Just run through the upper case alphabet repeatedly while advancing a counter by 1 if you encounter the letter in the counter position of the word and printing out the letter, a space otherwise.
function(s)while(F>""){for(l in LETTERS)cat("if"((F=substr(s,T,T))==l,{T=T+1;l}," "));cat("
")}

Try it online!

GolfScript, 37 bytes
64:a;{.a>{}{'
'\64:a;}if.a-(' '*\:a}%

Try it online!
I did a Golfscript one under a different name, but it had incorrect output.

Ruby -n, 62 bytes
Scans the input string for sequences of increasing letters, and for each sequence, replace letters not in the sequence with spaces.
g=*?A..?Z
$_.scan(/#{g*??}?/){puts g.join.tr"^#$&"," "if$&[0]}

Try it online!

05AB1E, 21 19 17 bytes
Çü@0šÅ¡vð₂×yAykǝ,

Try it online!
Ç       push a list of ascii values of the input        [84, 69, 83, 84]
ü@      determine which letter is >= the next letter    [1, 0, 0]
0š      prepend a 0 (false) to that list                [0, 1, 0, 0]
Å¡      split input on true values                      [["T"], ["E", "S", "T"]]
v       for each list entry
  ð₂×     push 26 spaces
  y       push list entry (letters)
  Ayk     push the positions of that letters in the alphabet
  ǝ       replace characters c in string a with letters b
  ,       print the resulting string
        implicitly close for-loop

Hexagony, 91 bytes
A"$>}\$<>~,<.'~<\.';<.>$${}\../<..>=<...-/.$/=*=32;.>~<>"){-\}.>_{A}\\../010<$..>;=~<$@{{Z'

More readably:
      A " $ > } \
     $ < > ~ , < .
    ' ~ < \ . ' ; <
   . > $ $ { } \ . .
  / < . . > = < . . .
 - / . $ / = * = 3 2 ;
  . > ~ < > " ) { - \
   } . > _ { A } \ \
    . . / 0 1 0 < $
     . . > ; = ~ <
      $ @ { { Z '

And with color paths:

Try it online!

Jelly, 24 21 bytes
3 bytes thanks to Erik the Outgolfer.
O64;I%26’⁶ẋÐ€;"⁸Ẏs26Y

Try it online!

I believe this fails for input "BALLOON" - the repeated characters are on the same line.

SOGL V0.12, 22 bytes
±E⁄Z*{@;eJι=?Xē}}¹∑z⁄n

Try it Here!

Husk, 22 21 19 17 bytes
-2 bytes thanks to Zgarb (and a new language feature)
mȯΣẊṠ:ȯR' ←≠:'@ġ>

Try it online!
Explanation
               ġ>    Group into increasing sublists
mȯ                   To each sublist apply the following three functions
            :'@      ¹Append '@' (The character before 'A') to the start
   Ẋ                 ²Apply the following function to all adjacent pairs
           ≠            Take the difference of their codepoints
          ←             Minus 1
      ȯR'               Repeat ' ' that many times
    Ṡ:                  Append the second argument to the end.
  Σ                  ³concatenate

19 bytes with the new binary overloading of Ṡ.

@Zgarb Wow fancy!

JavaScript (ES6), 87 bytes
f=([...s])=>s[0]?(g=i=>i>35?`
`+f(s):(i-parseInt(s[0],36)?" ":s.shift())+g(i+1))(10):""

Accepts uppercase or lowercase input. Output match the case of the input.
Tests

f=([...s])=>s[0]?(g=i=>i>35?`
`+f(s):(i-parseInt(s[0],36)?" ":s.shift())+g(i+1))(10):""

;O.innerText=["CODEGOLF","STACKEXCHANGE","F","ZYXWVUTSRQPONMLKJIHGFEDCBA","ANTIDISESTABLISHMENTARIANISM"]
.map(f).join("=".repeat(26)+"\n")

Haskell, 81 74 73 bytes
q@(w:y)!(x:z)|w==x=x:y!z|1<2=min ' 'x:q!z
x!_=x
a=['A'..'Z']++'\n':a
(!a)

Saved 1 byte thanks to Laikoni!
Try it online.
Haskell Hugs optimizations

The Hugs interpreter allows me to save one more byte by doing (!cycle$['A'..'Z']++"\n") instead of: (!cycle(['A'..'Z']++"\n")), but GHC does not like the former. (This is now obsolete; Laikoni already rewrote that line in a way that saved 1 byte.)

Apparently, Hugs also does not require parentheses around the list pattern matcher, so I could save two more bytes going from: q@(w:y)!(x:z) to q@(w:y)!x:z.

You can save a byte with a=['A'..'Z']++'\n':a;(!a). Interesting to now that Hugs seems to have somewhat laxer rules.

@Laikoni I'm looking at Haskell for months now and it doesn't cease to amaze me. I love the a=...:a trick. Thanks!

I don't know if you are aware of this but I think its worth mentioning.  The reason Hugs is different here is that there is lower operator precedence for user defined operators than in the ghc.

@WheatWizard I wasn't aware. This makes perfect sense, given the error I got in GHC.

Kotlin, 133 131 129 bytes
fun r(s:String){var c=0
while(0<1){('A'..'Z').map{if(c==s.length)return
if(s[c]==it){print(s[c])
c++}else print(" ")}
println()}}

Try it online!
Explained
fun r(s: String) {
    // Current character
    var c = 0
    // Keep going until the end of the string
    while (0 < 1) {
        // Go through the letters
        ('A'..'Z').map{
            // If the word is done then stop
            // Have to check after each letter
            if (c == s.length) return
            // If we are at the right letter
            if (s[c] == it) {
                // Print it
                print(s[c])
                // Go to the next letter
                c++
            // Otherwise print space
            } else print(" ")
        }
        // Put a newline between the lines
        println()
    }
}

Test
fun main(args:Array<String>)=r("CODEGOLF")

Edit: Ran through my compressor, saved 2 bytes.

C++, 202 197 bytes
-5 bytes thanks to Zacharý
#include<iostream>
#include<string>
using c=std::string;void f(c s){std::cout<<c(s[0]-65,32)<<s[0];for(int i=1;i<s.size();++i)std::cout<<(s[i]>s[i-1]?c(s[i]-s[i-1]-1,32):"\n"+c(s[i]-65,32))<<s[i];}

I think (s[i]>s[i-1])=>s[i]>s[i-1] works, along with moving the int i=1 to the for-loop.

Also, ("\n"+c(s[i]-65,32)) => "\n"+c(s[i]-65,32)

><>, 63 bytes
d5*v
(?;\i:0
~{?\}::{::}@=::{$" ["a${=:}?$~@?$~o10d2*-{?$~{+}}?

Try it online!
Input is expected in uppercase.

PHP, 121 bytes
<?$p=$argv[1];$b=substr;while($p){for($i=A;$i!=AA;$i++){if($p[0]==$i){echo$b($p,0,1);$p=$b($p,1);}else echo" ";}echo'
';}

Try it online!

Kotlin, 101 bytes
Port of the Powershell.
{s:String->var p=' '
var x=""
var r=""
s.map{c->if(c<p){r+=x+"\n";x=""}
x=x.padEnd(c-'A')+c
p=c}
r+x}

Rust, 163 bytes
|s:&str|{let mut s=s.bytes().peekable();while s.peek().is_some(){for c in 65..91{print!("{}",if Some(c)==s.peek().cloned(){s.next();c}else{32}as char)}println!()}}

Try it online!
Explanation
|s:&str|{                                        // Take a single parameter s (a string)
  let mut s=s.bytes().peekable();                // Turn s into a peekable iterator
  while s.peek().is_some(){                      // While s is nonempty:
    for c in 65..91{                             //   For every c in range [65, 91) (uppercase alphabet):
      print!("{}",if Some(c)==s.peek().cloned(){ //     If the next character in s is the same as c:
        s.next();                                //       Advance the iterator
        c                                        //       Print c as a character
      } else {                                   //     Else:
        32                                       //       Print a space
      } as char)                                 //
    }                                            //
    println!()                                   //   Print a newline
  }
}

Stax, 12 bytes
ü→Δe-Y─▲99╣w

Run and debug it
Unpacked, ungolfed, and commented, it looks like this.
{<!}    block tests if one value is >= another
)       use block to split input into partitions by testing adjacent pairs
m       map partitions using rest of the program and output
  zs    put a zero-length array under the partition in the stack
  F     for each letter in the array, run the rest of the program
    65- subtract 65 (ascii code for 'A')
    _&  set the specified index to the character, extending the array if necessary

Run this one

Japt -R, 11 bytes
;ó< £BôkX ¸

Try it or run all test cases
;ó< £BôkX ¸     :Implicit input of string
 ó<             :Partition between characters where the first is < the second
    £           :Map each X
;    B          :  Uppercase alphabet
      ô         :  Split at characters that return falsey (empty string)
       kX       :    When the characters in X are removed
          ¸     :  Join with spaces
                :Implicit output joined with newlines

Julia 1.0, 114 bytes
~w=(s=[w...];r="";i=j=0;while j<length(w) s[j+1]==['A':'Z';][i+=1] ? r*=s[j+=1] : r*=" ";i>25&&(i=0;r*="\n")end;r)

Try it online!
This solution builds the string character by character. Below is an ungolfed version:
function ~(w)
	r=""
	i=1
	j=1
	s=[w...]
	a=['A':'Z';]
	while j<=length(w)
		if s[j] == a[i]
			r*=s[j]
			j=j+1
		else
			r*=" "
		end
		i=i+1
		if i==27
			i=1
			r*="\n"
		end
	end
	r
end

Try it online!
The following alternative approach builds a string of spaces for each character and inserts newlines afterwards. Strings are immutable in Julia, but if there is a more efficient way to assemble the strings, this method might be made shorter. Additionally, I couldn't find an efficient way to interleave Strings or Characters, since this relies on using the array transpose ', which only works on numeric types.
Julia 1.0, 166 bytes (alternate approach)
function f(s)
v=[s...]
r=" ".^(((q=diff(['@';v])).+25).%26).*string.(v)
map(i -> (q[i]<1 && (j='Z'-v[i-1];r[i]=r[i][1:j]*"\n"*r[i][j+1:end])),1:length(r))
join(r)
end

Try it online!

Dyalog APL, 47 37 34 bytes
{↑{⍵∘{⍵∊⍺:⍵⋄' '}¨⎕A}¨⍵⊂⍨1,2≥/⎕A⍳⍵}

Try it online!
How? (argument is ⍵)

⍵⊂⍨1,2≥/⎕A⍳⍵, split into alphabetically ordered segments
{...}¨, apply this function to each letter (argument is ⍵):

⎕A, the alphabet
...¨, apply this function to each argument (argument is ⍵):

⍵∘, pass ⍵ in as the left argument (⍺) to the function:

{⍵∊⍺:⍵⋄' '}, if ⍵ is in ⍺, then return ⍵, otherwise a space. This function is what creates a line of text.

↑, turn into an array (equivalent of adding the newlines)

Mathematica, 73 71 72 bytes
Print@@(Alphabet[]/.Except[#|##,_String]->" ")&@@@Split[#,Order@##>0&];&
(* or *)
Print@@@Outer[If[!FreeQ@##,#2," "]&,Split[#,Order@##>0&],Alphabet[],1];&

sacrificed a byte to fix the output
Takes a list of lower case characters (which is a "string" per meta consensus).
Try it on Wolfram Sandbox
Usage
f = (Print@@(Alphabet[]/.Except[#|##,_String]->" ")&@@@Split[#,Order@##>0&];&)

f[{"c", "o", "d", "e", "g", "o", "l", "f"}]

 c           o
  de g       o
          l
    f

Your input is a list of strings? Is this valid?

Also this outputs {Null, Null, Null, Null} at the end. Is this allowed by OP?

@BillSteihn Yes, per meta consensus. For your second question, it prints the string to STDOUT. The Nulls are what the expression evaluates to, not a part of STDOUT (you can see this easily on Mathematica Kernel). For now, I fixed the issue by adding a byte.

@BillSteihn the question specifies that a list of strings (i presume the list containing each line) is not a valid output format. I reckon it's fine as the input format, especially if it's a list of characters (plus, some languages have no distinction between a string and a list of characters, so disallowing this only makes the question unfair).

Pip, 36 bytes
Wa{YsX26b:0Fiz{iQ@a?y@b::POau++b}Py}

Uses lowercase input
How?
Wa{YsX26b:0Fiz{iQ@a?y@b::POau++b}Py}  : One arg, string
 a                a        a          : First input, string
Wa{                                }  : While a isn't empty
    s                                   : Space character
     X26                                : Repeat 26 times
   Y                                    : Yank value
        b:0                             : Set b to zero
           Fiz{                 }       : For each character in z(lowercase alphabet)
                   ?                      : If
               i                          : Letter
                Q                         : Is equal to
                 @a                       : The first letter in the input string
                       ::                 : Swap the values of
                    y@b                   : Char at index b of y
                         POa              : Head a; pop the first value of a
                            u             : Nil(Terminate else)
                             ++b          : Iterate b
                                 P      : Print; output with newline
                                  y     : Line

Try It Online!

><> (Fish), 63 bytes
0i:0(?;$:r:@\
'A'-=?\' 'o$\
oi$c3.\
:?!v  >$:20.\1+d2*%
   \ao/

Try it
Ties the other ><> answer but a very different approach

Mathematica, 184 bytes
(t=Characters@#;s=Flatten@Table[Alphabet[],(l=Length)@t];q=1;For[i=1,i<=l@s,i++,If[s[[i]]!=t[[q]],s[[i]]=" ",q++];If[q>l@t,q--;t[[q]]=0]];StringRiffle[StringPartition[""<>s,26],"\n"])&

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


text:
Euro coins and notes
As the majority of nations using the Euro have the  , as the decimal separator, you must use it also.
The task is to output all the values of the Euro coins and notes in ascending order. You must also put the trailing ,00 on the integer values.
0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00
I accept both output to stdout or a function returning an array/list. If output is to stdout, the acceptable separators between values are: space, tab, or newline.
There will be no accepted answer, unless I see some one I find very creative.
code-golf, so I want to know shortest answer by language.
Update:
Leading 0 zeros are not acceptable. Sorry, I should make it clear before.
Update 2:
It is also acceptable a function returning a string.

can there be a trailing space?

@dzaima: yes. :)

Are leading zeros acceptable (like 000,01 etc.)?

@JonathanAllan: no.

Can I output the values in random order?

Is a function returning a string OK?

@scottinet: No. And that would be not fair to previous repondents.

@nwellnhof: I have to think a little bit more before I answer your question. BTW, what language will you use? Isn't it more byte-economic to implement as output to stdout or function returning a list of values?

@nwellnhof: I changed the rules a bit in Update 2 to "It is also acceptable a function returning a string.", due to a C++ answer I liked, that works the way you describe.

The accepted answer is the answer that wins the challenge. You can either accept the shortest answer or no answer at all, but not an arbitrary one.

Would it not be in better form to have the items in your list also not feature the leading 0x30s?  I'm suggesting that in an edit; you can evaluate it for aesthetics if you have not already done so.

Can we assume we have a Locale set which uses commas for currencies by default (like Dutch or French)? Or should we assume a US Locale is set by default, and change it to French manually?

@KevinCruijssen: See Dennis' answer for reference: https://codegolf.stackexchange.com/a/141484/29325

Pure Bash, 48
s={1,2,5}
eval echo 0,0$s 0,${s}0 ${s}{,0,00},00

Try it online.

Well played! You got the check mark!

I never noticed the pattern... and I've been using the currency over 15 years..

@StephanBijzitter many currencies work like that.

Japt, 23 22 bytes
-1 byte thanks to @Shaggy
5Æ#}ì ®eX-2 x2 d".,"
c

Returns an array of strings.
Try it online! with the -R flag to output array items on separate lines.

Go multiline for 22 bytes.

Python 2, 72 bytes
print[('%.2f'%(10**(x/3-2)*(5>>~x%3))).replace(*'.,')for x in range(15)]

Try it online!
The expression 5>>~x%3 maps the non-negative integers to 1, 2, 5, 1, 2, 5…
It works because 5, 2, 1 are the successive right-bitshifts of 5 (0b101 → 0b10 → 0b1); we cycle through them backwards.

SOGLOnline offline, 27 26 25 24 23 22 21 bytes
252¹5∙īυ;{⁴Ζ.,ŗP*F⁾?½

Try it Here!
The online link doesn't show trailing zeroes, but the offline version does as Javas BigDecimals are nice.
Explanation:
252¹5∙īυ;{⁴Ζ.,ŗP*F⁾?½
252¹                 push the array [2, 5, 2]
    5∙               multiply vertically by 5
      īυ;            push 0.01 below that - the main number
         {           iterate over that array - [2,5,2,2,5,2,2,5,2,2,5,2,2,5,2]
          ⁴            duplicate the main number
           Ζ.,ŗ        replace "." with ","
               P       output in a new line
                *      multiply the main number with the current item of the array
                 F⁾?   if the current array item-2 isn't 0, then
                    ½    divide by 2

TO run in the offline interpreter, download SOGLOnlines repository, go to compiler/interpreter, open any of the .pde files with Processing, then do file -> export for your OS (otherwise you can't give arguments to a Processing program :/), and then execute the compiled program with an argument to the path of the file with the code. Then, stdout will contain this.
2L¼2¹5∙īυ;{⁴Ζ.,ŗP* for 18 bytes almost works but the zero amount grows, resulting in 0,01 0,02 0,050 0,100 0,200 0,5000 1,0000 2,0000 5,00000 10,00000 20,00000 50,000000 100,000000 200,000000 500,0000000 (newlines replaced with spaces)

Output format incorrect: "You must also put the trailing ,00 on the integer values." (I imagine this is also intended to include the trailing ,0 where appropriate)

You should fix your post according to @JonathanAllan 's observation. JonathanAllan, thanks

@JonathanAllan: Hmmmpf, let me take your comment with a grain of salt. Post author says: "The online link doesn't show trailing zeroes, but the offline version does as Javas BigDecimals are nice.". So I have no way to check whether the script behaves well or not on the offline version.

@sergiol Ah, I missed that text. I wonder why the online interpreter is implemented differently in this regard - dzaima...?

I believe the online interpreter is written in JavaScript while the offline one is written in Processing. Also solutions don't have to be testable online. :P

@JonathanAllan The Java version uses Javas BigDecimals for numbers, while the Javascript version uses my modified version of some Bigs. It's not that easy that easy to port a whole javas library :p

I didn't realise you needed to write a whole other interpreter to have it work online (I guess there is a problem with running the Processing version online?) Yeah not easy to port something like that!

@totallyhuman I realise they don't have to be testable online, that was just me not reading everything!

@JonathanAllan Processing.js did most of the work converting Processing to Javascript, but a couple things (e.g. BigDecimal) it doesn't implement.

Java 8, 109 108 81 80 bytes
Thanks to @OlivierGrégoire for the Locale idea
x->{for(double i=.001;i<11;)System.out.printf("%.2f %.2f %.2f ",i*=10,i*2,5*i);}

Try it online!

You can save a byte by switching to an unused parameter (meta post on this): Try it online

100 bytes.

81 bytes. Works on my system because my default locale is be_FR. "Work on my system" is good enough. I can't find the meta-post linked to this, but you can use it. To simulate it, just have Locale.setDefault(Locale.FRENCH); in the non-competite part of the TIO.

@OlivierGrégoire Here is the relevant meta-post, and you're indeed right that it is allowed. I even asked OP to verify, and he linked me to Dennis' answer with a link to this meta post.

80 bytes: x->{for(double i=.001;i<11;)System.out.printf("%.2f %.2f %.2f ",i*=10,i*2,5*i);}

Charcoal, 36 bytes
ＥＥ×125⁵⁺⁺×0⁻²÷κ³ι×0÷κ³⁺⁺✂ι⁰±²¦¹,✂ι±²

Try it online! Link is to verbose version of code. Explanation:
   125                                  String `125`
  ×   ⁵                                 Repeated 5 times
 Ｅ                                      Map over each character
              ÷κ³   ÷κ³                 Integer divide loop index by 3
            ⁻²                          Subtract from 2
          ×0      ×0                    Repeat the string `0` x times
        ⁺⁺       ι                      Concatenate with the character
Ｅ                                       Map over each resulting string
                         ✂ι⁰±²¦¹        Slice off the last two digits
                                ✂ι±²    Extract the last two digits
                       ⁺⁺       ,       Concatenate with a comma
                                        Implicitly print one per line

APL (Dyalog), 30 28 bytes
Complete program. Outputs to space-separated to STDOUT.
'\.'⎕R','⊢2⍕×\.01,14⍴2 2.5 2

Try it online!
2 2.5 2 the list;
 [2,2.5,2]
14⍴ cyclically reshape to length 14;
 [2,2.5,2,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5]
.01 prepend 0.01;
 [0.01,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5,2,2,2.5]
×\ cumulative multiplication;
 [0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,20,50,100,200,500]
2⍕ format with two decimals;
 " 0.01 0.02 0.05 0.10 0.20 0.50 1.00 2.00 5.00 10.00 20.00 50.00 100.00 200.00 500.00"
⊢ yield that (to separate ',' from 2)
'\.'⎕R',' PCRE Replace periods with commas;
 " 0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00"

Bash, 38 bytes
printf %.2f\\n {1,2,5}e{-2..2}|sort -h

Requires an appropriate locale, which is allowed by default and costs no bytes.
Try it online!

The output is not respecting ascending order!

I broke it when I switched from newlines to spaces to save a byte. Fixed now.

R 70, 50 bytes
inspired by @Giuseppe:
format(c(1,2,5)*10^rep(-2:2,e=3),ns=2,de=",",sc=F)

Try it here!
Ungolfed
format(c(1,2,5)*10^rep(-2:2, each = 3),
   nsmall = 2,
   decimal.mark = ",",
   scientific = FALSE)

I could only manage 56 using a similar method, just with an t(outer()) rather than the rep(). Not sure if we're allowed that leading whitespace though, that'd cost 4 bytes to fix.

Python 2, 80 77 75 73 bytes
-2 bytes thanks to @Mr.Xcoder
-1 byte thanks to @EriktheOutgolfer
-2 bytes thanks to @totallyhuman
-2 bytes thanks to @Lynn
print[('%.2f'%(v*m)).replace(*'.,')for m in.01,.1,1,10,100for v in 1,2,5]

Try it online!

@EriktheOutgolfer forgets to remove spaces

I forgot to specify what kind of separator between values are acceptable. Don't worry, newline is acceptable.

Pyth, 37 bytes
smmX%"%.2f"*dk\.\,[1 2 5)[.01.1 1T^T2

Try it online!
Pyth, 37 bytes
Will shorten in a few minutes.
V[.01.1 1T^T2)V[1 2 5)X%"%.2f"*NH\.\,

Try it online!

JavaScript (ES6), 83 bytes
Returns an array.
_=>[...'125'.repeat(k=5)].map(c=>(c*(c-1?k:k*=10)/5e3).toFixed(2).split`.`.join`,`)

Demo

let f =

_=>[...'125'.repeat(k=5)].map(c=>(c*(c-1?k:k*=10)/5e3).toFixed(2).split`.`.join`,`)

console.log(f())

Recursive version (ES7), 84 bytes
Returns a string with a trailing space.
f=(i=0)=>i<15?('125'[i%3]/100*10**(i/3|0)).toFixed(2).split`.`.join`,`+' '+f(i+1):''

Demo

f=(i=0)=>i<15?('125'[i%3]/100*10**(i/3|0)).toFixed(2).split`.`.join`,`+' '+f(i+1):''

console.log(f())

Retina, 42 bytes

5$*0
0
$'1$`¶$'2$`¶$'5$`¶
..¶
,$&
m`^00?

Try it online! Explanation: There are fifteen values, with 1, 2 and 5 in each of five places. The first stage inserts five 0s. The second stage repeats them into a square, then changes the trailing diagonal into 1s, then duplicates those lines three times with 2 and 5. The third stage inserts the commas and the last stage removes unnecessary leading zeros.

Charcoal, 37 bytes
”{➙∧N\`�4✳×″↶tι⦄|Ｑ~(↥↗⁻“Ｑ§U‴w⎇δUη◨÷¤Ｇ”

Try it online! Link is to verbose version.
Yay, compression!

Bash, 88 bytes
s=125
for i in {0..14};{ printf %1.2f\  `bc<<<"scale=2;${s:i%3:1}*10^$[i/3-2]"`|tr . ,;}

Try it online!

After all that hard work, echo 0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00 is the same length :(

@DigitalTrauma But that's no fun :P

C++, 138 120 bytes
-18 bytes thanks to MSalters
#include<iostream>
void p(){for(auto&a:{"0,0%d ","0,%d0 ","%d,00 ","%d0,00 ","%d00,00 "})for(int b:{1,2,5})printf(a,b);}

Hardcoded version, by Lynn, 116 bytes
#include<ios>
void p(){puts("0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00");}

You should include some online example for people seeing it running. I already did it for you: https://tio.run/##RczBCgIhFIXhvU8hE4bCDSxoMza9i6NjCM0o5rgRn920gnbfvzhHeX96KFXrwW7quevlZt0rhkWudyT36HCa8hkucC3ik2bKAwdONB6ggWjeQTTwH/hfXxaRnNXYU5aNC7S/HOVoWA@7RTyPifnQZKiEmYlSV2k3ylBGbSNQqW8

No need for v and f: void p(){for(auto&a:{"0,0%d ","0,%d0 ","%d,00 ","%d0,00 ","%d00,00 "})for(int b:{1,2,5})printf(a,b);} - just 120 bytes

#include<ios>␤void p(){puts("0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00");} is 116 bytes.

JavaScript (ES6), 81 bytes
Returns an array.
_=>[...Array(13),b=.005,i=0].map(p=>(b*=++i%3?2:2.5).toFixed(2).replace(".",","))

Demo

let f =

_=>[...Array(13),b=.005,i=0].map(p=>(b*=++i%3?2:2.5).toFixed(2).replace(".",","))

console.log(f())

R, 70 61 bytes
options(scipen=9,OutDec=",")
print(c(1,2,5)*10^rep(-2:2,e=3))

Try it online!
-9 bytes thanks to Rui Barradas
Outgolfed by AndriusZ

I think there are no 1000€, 2000€ and 5000€

You can save 5 bytes by removing print

by mixing your and my answers we can achieve 50 bytes - format(c(1,2,5)*10^rep(-2:2,e=3),ns=2,de=",",sc=9)

@AndriusZ I think you still need a print around that answer but you should post it yourself; I just used the most barbaric method to change the settings, using format required some actual thought.

You can save 8 bytes by combining the two options into one. options(OutDec=",",scipen=5).

@AndriusZ: No there aren't. So Giuseppes's answer is not valid.

@sergiol fixed.

Common Lisp, 95 bytes
(dotimes(i 5)(dolist(j'(1 2 5))(princ(substitute #\, #\.(format()"~$ "(*(expt 10(- i 2))j))))))

Try it online!

Husk, 28 bytes
ṁm↔ṪöJ',CtN`J§¤eR'0≥≤2ḣ5"125

Try it online!
Just string manipulation, since Husk is terrible at formatting floating point numbers.
Explanation
ṁm↔ṪöJ',CtN`J§¤eR'0≥≤2ḣ5"125
                        "125  The string "125".
                      ḣ5      The range [1,2,3,4,5].
   Ṫö                         Compute their outer product wrt this function:
                               Arguments are number n (say 3) and character c (say '5').
             §     ≥≤2         Compute max(0,n-2+1) and max(0,2-n+1),
                R'0            repeat '0' those numbers of times,
              ¤e               and put them into a list: ["00",""]
           `J                  Join with c: "005"
        CtN                    Split to lengths 2 and at most 3: ["00","5"]
     J',                       Join with ',': "00,5"
                              This gives a 2D array of the outputs reversed.
ṁ                             Map and concatenate
 m↔                           map reversal.
                              Implicitly print separated by newlines.

C (gcc), 82 bytes
p(n){printf("%d,%02d ",n/100,n%100);}f(n){for(n=1;n<5e4;n*=10)p(n),p(n*2),p(n*5);}

Try it online!

05AB1E, 25 bytes
125S5иεN3÷°*т/'.',:N2›i0«

Returns a list of strings.
Try it online.
Explanation:
125                          # Push 125
   S                         # Split to a list of digits: [1,2,5]
    5и                       # Repeat it 5 times: [1,2,5,1,2,5,1,2,5,1,2,5,1,2,5]
      ε                      # Map each to:
       N3÷                   #  Integer-divide the map-index by 3
          °                  #  Take it to the power 10
           *                 #  Multiply the current map number with it
            т/               #  Divide it by 100
              '.',:          #  Replace all "." with ","
                   N2›i      #  And if the map-index is larger than 2:
                       0«    #   Append a "0"

125S5и could be •}•15∍ (push compressed 125; enlarge it to size 15: 125125125125125) and '.',: could be „.,`: (push string ".,", pop and push the characters as separated items to the stack) for the same byte-count: Try it online.
Also, N3÷°*т/ can be shortened to N3÷Í°* (where Í subtracts 2), but unfortunately we need the / so all the numbers becomes decimals, whereas with N3÷Í°* most numbers will remain integers.

T-SQL, 104 bytes
SELECT FORMAT(p*n,'0\,00')
FROM(VALUES(1),(2),(5))a(n),(VALUES(1),(10),(100),(1E3),(1E4))b(p)
ORDER BY p,n

Line breaks are for readability only.
Annoyingly longer than the trivial PRINT version (90 bytes):
PRINT'0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00'

You can append to your answer an online demo: https://rextester.com/IBKO53221

And remove the newlines for it to be more golfy: https://rextester.com/ZANC22480

Bubblegum, 41 bytes
00000000: 1dc5 8105 0040 1402 d055 1ae0 50d1 feab  .....@...U..P...
00000010: dd2f 788f 8fc2 e192 433c 5c42 e891 7049  ./x.....C<\B..pI
00000020: 11ab 67a6 b8bc 90f5 01                   ..g......

Try it online!

Retina, 58 bytes

¶0¶00¶000¶0000¶
.*¶
1$&2$&5$&
^
¶
+`¶(.?.?¶)
¶0$1
..¶
,$&

Try it online!

I double-checked with a question to the OP - the leading zeros are not acceptable :(

You should fix your post according to @JonathanAllan 's observation. JonathanAllan, thanks

@sergiol fixed it

Kotlin, 100 99 bytes
Submission
fun g(){var i=1
while(i<1e5){listOf(1,2,5).map{print("%d,%02d ".format(i*it/100,i*it%100))}
i*=10}}

Runner
fun g(){var i=1
while(i<1e5){listOf(1,2,5).map{print("%d,%02d ".format(i*it/100,i*it%100))}
i*=10}}

fun main(vararg string: String) {
    g()
}

TryItOnline
Link
Edits
-1 | println -> print

Ruby, 66 62 bytes
-2.upto 2{|m|[1,2,5].map{|v|$><<('%.2f '.%v*10**m).tr(?.,?,)}}

4 bytes shorter thanks to Lynn!
Try it online!

-2.upto 2{…} saves 3 bytes. '%.2f '.%v*10**m saves one byte (calling the % method!)

Perl 6, 50 45 bytes
{TR/./,/}o{((10 X**^5-2)X*1,2,5).fmt('%.2f')}

Try it online!
Function returning a string.

VBA, 94 93 92 Bytes
Anonymous VBE immediate window function that takes no input and outputs the euro units to the VBE immediate window.
Restricted to 32-Bit VBA as exponentiation of the form a^b throws an error in 64-Bit VBA. To run in 64-Bit, change 10^j to 10 ^j.
For j=-2To 2:For Each i In Array(1,2,5):?Replace(Format(i*10^j,"0.00"),".",",")" ";:Next i,j

-1 Byte for replacing Next:Next with Next i,j

Extra space in 10 ^j, isn't it? Can't run, keeps saying "Expected: expression".

@LS_ᴅᴇᴠ - its actually a result of a slight difference in exponentiation between 64 bit and 32 Bit VBA - namely that a^b throws an error in 64-bit VBA and not 32-Bit; I Just double checked and this runs perfectly without error in the 64-Bit Version. That said, and assuming that this runs fine without the space in 32-Bit VBA, I'll restrict the source and remove the single byte

C# (.NET Core), 107 bytes
Console.Write("0,01{0}2{0}5 0,10 0,20 0,50 1{1}2{1}5{1}1{2}2{2}5{2}10{2}20{2}50{2}"," 0,0",",00 ","0,00 ");

Run it

JavaScript - 96 bytes
x=>{for(o="",b=-2;b<3;b++)for(n of[1,2,5])o+=(n*10**b).toFixed(2).replace(".",",")+" ";return o}

And here's a slightly longer (98 characters) functional approach:
x=>[].concat.apply([],[.01,.1,1,10,100].map(n=>[n,n*2,n*5])).map(n=>n.toFixed(2).replace(".",","))

J, 36 bytes
echo'.,'charsub 0j2":,1 2 5*/~10^i:2

Try it online!

Tcl, 80 bytes
lmap d {-2 -1 0 1 2} {lmap c {1 2 5} {puts [regsub \\. [format %.2f $c\e$d] ,]}}

Try it online!

Tcl, 90 bytes
lmap d {.01 .1 1 10 100} {lmap c {1 2 5} {puts [regsub \\. [format %.2f [expr $c*$d]] ,]}}

Try it online!
Still very long, golfing it more later!

Failed outgolf: https://tio.run/##BcFBCoAgEAXQq/xFbaSkhFYdxVyYWAxkiU4QiGe399hdrWXPIIxqZQoe5Qo2wqHMUFgqSnw5Qyd/5nfHtkno40nBMnqpDmj/xYTOiXkSoiNpDAZTV7pdAlUsrf0

It occupies the same byte extent as literal: puts "0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00"

Same byte extent: set i -2;time {lmap c {1 2 5} {puts [regsub \\. [format %.2f [expr $c*1e$i]] ,]};incr i} 5

using time to iterate instead of lmap renders more bytes: set d -3;time {incr d;lmap c {1 2 5} {puts [regsub \\. [format %.2f $c\e$d] ,]}} 5

MathGolf, 25 24 bytes
5125ß*m{ï3/ú*_♀/\♀%αû,0u

Try it online!
Explanation
5                          Push 5
 125ß                      Push [1,2,5]
     *                     Multiply
      m{                   Map each element to...
        ï                  Push map index
         3/                Divide by 3
           ú               Push 10**TOS
            *              Multiply
             _             Duplicate element
              ♀/           Divide by 100
                \♀%        Swap top two elements and calculate TOS % 100
                   α       Wrap last two elements in array
                    û,0    Push ",0"
                       u   Join array with separator


text:
Generate strong primes

In number theory, a strong prime is a prime number that is greater than the arithmetic mean of the nearest prime above and below (in other words, it's closer to the following than to the preceding prime).

Given an input integer, n, where n >= 0, your task is to generate the first n strong primes. For example, the sixth, seventh, and eighth primes are 13, 17, and 19, respectively:
(13 + 19) / 2 < 17

Therefore, 17 is a strong prime.
Input

an integer

Output

if n is 0

program: output nothing
function: return an empty array

if n is greater than 0

program: output the first n strong primes, each on its own line
function: return an array containing the first n strong primes

Test cases
0
[]

4
[11, 17, 29, 37]

7
[11, 17, 29, 37, 41, 59, 67]

47
[11, 17, 29, 37, 41, 59, 67, 71, 79, 97, 101, 107, 127, 137, 149, 163, 179, 191, 197, 223, 227, 239, 251, 269, 277, 281, 307, 311, 331, 347, 367, 379, 397, 419, 431, 439, 457, 461, 479, 487, 499, 521, 541, 557, 569, 587, 599]

See also: Strong primes on OEIS

output n strong primes - Any n strong primes or the first n strong primes? A few test cases/examples of corresponding inputs and outputs would a nice addition to the challenge.

@Mr.Xcoder: I've updated the spec; added a link to OEIS, as well.

Does it really have to be a newline as delimiter?

@Titus: Yes it does.

is it an "and" or an "or" in the spec?  "output and return" or "output, or return"??

@WillNess: Output if a program, return if a function.

@WheatWizard: No; from your own comment: "not weak is different than strong". Also, that task is to determine whether or not an input, n, is a weak prime (but it's yours, so you know that).

@ZachGates Its the difference between less than and greater than. Just because not weak is not the same as strong does not mean this is not a dupe.  This is a minuscule difference and definitely not a large enough one to warrant its own question.

Husk, 12 11 bytes
↑§foẊ<Ẋ-tİp

Try it online!
-1 byte thanks to H.PWiz.
Explanation
↑§foẊ<Ẋ-tİp  Input is n.
         İp  The infinite list of primes.
      Ẋ-     Take pairwise differences,
   oẊ<       then pairwise comparisons.
        t    Frop the first element from İp
 §f          and filter the rest using the result of oẊ<Ẋ-.
↑            Take first n elements of this list.

11 bytes, but a bit more boring

Jelly, 14 bytes
Æp+ÆnH<ȧÆP
3Ç#

Try it online!
Explanation
Æp+ÆnH<ȧÆP  Helper link. Input: k
Æp          Prime less than k
  +         Plus
   Æn       Prime greater than k
     H      Halve
      <     Less than k?
       ȧ    Logical AND
        ÆP  Is k prime?

3Ç#  Main link. Input: n
  #  Find n matches
3Ç     Call the helper link on 3, 4, 5, ...

I discovered an alternative and thought it might be worth mentioning it: Æp+Æn<ḤȧÆP

Java 182 167 153 bytes
Second version
Thank's to Roman Gräf for saving 29 bytes!
n->{int s[]=new int[n],i=1,p=i,q=i;while(n>0)if(java.math.BigInteger.valueOf(++i).isProbablePrime(n.MAX_VALUE)){if(p>(i+q)/2)s[--n]=p;q=p;p=i;}return s;}
ungolfed
int[] strongPrimes(Integer n) {
        int[] strongPrimes = new int[n];
        int i=1;
        int p1=i; //last prime
        int p2=i; //2 primes ago
        while(n>0) if(java.math.BigInteger.valueOf(++i).isProbablePrime(n.MAX_VALUE)) { //increment i and if prime
            //System.out.println("p1:"+p1+" i:"+i+" p2:"+p2);
            if(p1>(i+p2)/2) strongPrimes[--n]=p1; //if the previous one was strong
            p2=p1;
            p1=i;
        }
        return strongPrimes;
    }
General
I don't think I can get it any smaller without help. Doesn't anyone now of an other build in function to check for primes?
concerns
technically there is 2^(-2^31) chance that isProbablePrime(Integer.MAX_VALUE) returns true on a non prime but this doesn't happen for an integer.
It also outputs the numbers in reverse order but I didn't see anything about the order in which the primes should be outputted but that's an easy fix (although it could cost some bytes)

int[]s(int n){int s[]=new int[n],i=1,p=i,q=i;while(n>0)if(java.math.BigInteger.valueOf(++i).isProbablePrime(n.MAX_VALUE)){if(p>(i+q)/2)s[--n]=p;q=p;p=i;}return s;} without changing any code this should be a bit shorter

RE: your concern about writing a function: it is acceptable so long as not explicitly ruled otherwise. (I'll leave it to the Java golfers to see if you can golf it!)

@RomanGräf thank's I'll update it apparently I forgot to remove some white-space and I din't think of defining the variables like that. But "int n" doesn't work because of "n.MAX_VALUE"

if you want you can use a lambda n->{...} that fits into a Function<Integer,int[]>

@RomanGräf does that still count?

As far as i know yes. i use it myself a lot. I have a look for the relevant meta post. just switch your lang to java 8

@RomanGräf how about this: https://codegolf.meta.stackexchange.com/questions/4726/java-function-literals?

I had this one but it is relatively clear if you search meta for lambda

n.MAX_VALUE (which is equivalent to -1>>>1) can be replaced with 50 (upper bound for BigIntegers with less than 100 bits) (-9 bytes), if(p>(i+q)/2) can be replaced with if(2*p>i+q)(-2 bytes).

You can test by dividing. int a=i; for(;i%--a>0;); if a>1(...

Perhaps you can manually check primes to save bytes. Here is the relevant Java Tip for primes. Not sure if this saves bytes when using BigIntegers though.

@KevinCruijssen The code doesn't actually use the BigIntegers for anything other than the primality check.

@JollyJoker Ah, you're right. In that case the byte-count can be lowered to 133 bytes, like this: n->{int s[]=new int[n],i=1,p=i,q=i,j,t;while(n>0){for(j=2,t=++i;j<t;t=t%j++<1?0:t);if(t>1){if(p>(i+q)/2)s[--n]=p;q=p;p=i;}}return s;}.

@KevinCrujissen 118 Try it online!

@JollyJoker 117 bytes (Only golfed your last if).

Python 2, 106 103 bytes
Edit: -3 bytes thanks to @Mr.Xcoder
n=input()
a=2;b=i=3
while n:
 i+=2
 if all(i%k for k in range(3,i)):
 	if i+a<b*2:print b;n-=1
	a,b=b,i

Try it online!
Quite straight forward. Loop through all prime numbers keeping track of the two last primes. When a new prime is found, we check if the previous prime is a strong prime, and then update the two primes kept track of. This is done until n strong primes have been found.

(i+a)/2<b means i+a<b*2 (105 bytes)

You can reorder them a bit: a=2;b=i=3 (103 bytes)

Mathematica, 81 66 bytes
Select[Partition[Prime@Range[#^2],3,1],Apply[#+#3<2#2&]][[;;#,2]]&

thanx to @Marthe172 for -15 bytes

-15 bytes: Select[Partition[Prime@Range[#^2],3,1],Apply[#+#3<2#2&]][[;;#,2]]&

You could use Martin's answer here to make this way shorter.

@WheatWizard you could use Martin's answers any way you like

Pyth, 25 bytes
.f&P_Z>yZ+fP_ThZefP_TUZQ3

Try it here! or Check out the test Suite!

Explanation
Quite happy with this golf given that Pyth kind of lacks prime built-ins.
.f&P_Z>yZ+fP_ThZefP_TUZQ3    Full program. Note that Q means input.

.f                     Q3    First Q inputs with truthy results, starting at 3 and counting up by 1.
          fPThZ              First prime after the current number.
               efP_TUZ       The last prime before the current number.
         +                   Sum.
      >yZ                    Is the current number doubled higher than the sum?
  &P_Z                       And is the current number prime?
                             Output implicitly.

Actually, 17 bytes
⌠;D;⌐P@P+½@P>⌡╓♂P

Try it online!
Explanation:
⌠;D;⌐P@P+½@P>⌡╓♂P
⌠;D;⌐P@P+½@P>⌡╓    first n values (starting with k=0) where:
  D    P             (k-1)th prime
   ;⌐P@ +            plus (k+1)th prime
         ½           divided by 2
 ;        @P>        is less than kth prime
               ♂P  primes at those indices

[tag:feature-request]: P maps on a list

@EriktheOutgolfer Actually has a GitHub repo. Make an issue there.

You probably misunderstood the meaning of the comment then :p (like, "this would've been shorter if behavior like other commands existed in this one too"...probably it was a fail...)

C++, 334 bytes, 318 with MSVC
-1 byte thanks to Mr.Xcoder
-1 byte thanks to Zacharý
With the MSVC compilation, you don't need to include the cmath header yourself, it compiles without
#include<vector>
#include<cmath>
typedef std::vector<int>v;v p{2};int i(int t){int m=sqrt(t)+2,i=2;for(;i<m;++i)if(t%i<1)return 0;return 1;}void n(){int l=p.back()+1;while(!i(l))++l;p.push_back(l);}auto s(int m){if(!m)return v();n();n();v r;while(r.size()!=m){if((p[0]+p[2])/2<p[1])r.push_back(p[1]);p.erase(p.begin());n();}return r;}

tsh and Mr.Xcoder answer : 131 bytes
tsh rewrote the answer in 139 bytes ( -195 ), and Mr.Xcoder golfed it more with 131 bytes
int N,t,o,a,b,i;void n(){t=++N;for(o=2;++o<t;)if(t%o<1)n();}void s(int m,int*r){b=N=t=5;for(;i<m;)if(a=b,b=t,n(),b+b>a+t)r[i++]=b;}

Mr.Xcoder TIO Link
First version ungolfed :
#include<vector>
#include<cmath>
typedef std::vector<int> v;
v p{2};
//Tells if a number is prime or not
int i(int t) {
    int m = sqrt(t) + 2, i = 2;
    for (;i < m;++i)
        if (t%i < 1)
            return 0;
    return 1;
}
//Push back the next prime number
void n() {
    int l = p.back() + 1;
    while (!i(l))
        ++l;
    p.push_back(l);
}
//Generate a list of m strong primes
auto s(int m) {
    if (!m)
        return v();
    n();
    n();
    v r;
    while (r.size() != m) {
        if ((p[0] + p[2]) / 2 < p[1])
            r.push_back(p[1]);
        p.erase(p.begin());
        n();
    }
    return r;
}

You can save 1 byte by replacing if(t%i==0) with if(t%i<1).

Where are you getting sqrt from? 2. I think you can remove the space between std::vector<int> and v.

@Zacharý From the vector include file, apparently. It compiles with MSVC, haven't test with GCC, though

Then place a note about it being MSVC-only, since I've tested on g++, and it doesn't work due to sqrt. Also, is that byte count still correct?

@Zacharý I think it's correct. I used the byte counter snippet from code golf meta to do the count

I said that because your byte count never changed after you removed the space for some reason.

@Zacharý You're right, it's cause of a whitespace added by mistake

almost rewritten

131 bytes, following @tsh's suggestions.

@Mr.Xcoder A function submit should be able to reuse. initialization of i should not be ignored.

05AB1E, 19 bytes
µNØN<ØN>Ø+;›i¼NØ}})

Try it online!

Haskell, 123 121 114 85 bytes
import Data.List
g=(`take`(tails(nubBy(((>1).).gcd)[2..])>>=(\(a:b:c:_)->[b|b-a>c-b])))

(anonymous function courtesy of H.PWiz; I initially thought I must both print and then return, so had a longer code)
(not counting the g= bit)
Running it:
~> g 7
[11,17,29,37,41,59,67]

@H.PWiz thanks, on all counts!

Don't need to include g=, see this

@H.PWiz can I just have the anonymous function by itself? Trying it with the CPP pragma, it didn't work, probably because of the import.

(like this)

You don't need the CPP bit, I was just looking for a post that explained that g= wasn't counted.

I would leave it out of your code, and if you choose to add a TIO link, put it in there. Like this

btw, hiding the import in the header also works for some reason. but it's probably against the rules not to count the import anyway.

The header is just to do things like pretty printing or adding test suites. It doesn't make this 0 bytes

Python 2 + SymPy, 118 bytes
Not as short as the classic approach, but I think it's worth posting.
from sympy.ntheory import*
def f(i):
 k=3
 while i:
	if prevprime(k)+nextprime(k)<k*2and isprime(k):i-=1;yield k
	k+=2

Try it online!

Axiom, 109 bytes
h(n)==(c:=s:=3;r:=[];for i in 5..by 2|prime?(i)repeat(#r>=n=>break;p:=c;c:=s;s:=i;p+s<2*c=>(r:=cons(c,r)));r)

ungolf and results
f(n)==
   p:=c:=s:=3;r:List INT:=[]
   for i in 5.. by 2|prime?(i) repeat
      #r>=n=>break
      p:=c;c:=s;s:=i;(p+s)/2<c=>(r:=cons(c,r))
   r

(4) -> f 47
   (4)
   [599, 587, 569, 557, 541, 521, 499, 487, 479, 461, 457, 439, 431, 419, 397,
    379, 367, 347, 331, 311, 307, 281, 277, 269, 251, 239, 227, 223, 197, 191,
    179, 163, 149, 137, 127, 107, 101, 97, 79, 71, 67, 59, 41, 37, 29, 17, 11]

Python 2, 86 bytes
n=input()
u=p=2;v=i=3
while n:
 p*=i;i+=1
 if p*p%i:
	if u+i<2*v:print v;n-=1
	u,v=v,i

Try it online!
Uses Wilson's theorem for the primality test.

Kotlin, 181 180 bytes
fun f(l:Int):Array<Int>{var a=1
var b=1
var i=0
var c=0
val o=Array(l,{0})
while(l>0){c++
if((1..c).filter{c%it==0}.size==2){if(c-b<b-a){o[i]=b
if(++i>=l)break}
a=b
b=c}}
return o}

Try it online!
Explained
fun f(l: Int): Array<Int> {
    var a = 1 // Lowest prime
    var b = 1 // Middle prime
    var i = 0 // Current prime index
    var c = 0 // Highest prime
    val o = Array(l, { 0 }) // Output array
    while (l > 0) {  // Functions as while true, while skipping for the 0 case
        c++ // Increment the highest prime
        if ((1..c).filter { c % it == 0 }.size == 2) { // Only if it is prime
            if (c - b < b - a) {                       // If it is strongly prime
                o[i] = b                               // Then record it
                if (++i >= l) break                    // If we have all the answers then stop
            }
            a = b                                      // Rotate the primes
            b = c                                      // As above
        }
    }
    return o  // Return the answer
}