12 lines
255 B
D
12 lines
255 B
D
|
|
ulong ackermann(in ulong m, in ulong n) pure nothrow @nogc {
|
||
|
|
if (m == 0)
|
||
|
|
return n + 1;
|
||
|
|
if (n == 0)
|
||
|
|
return ackermann(m - 1, 1);
|
||
|
|
return ackermann(m - 1, ackermann(m, n - 1));
|
||
|
|
}
|
||
|
|
|
||
|
|
void main() {
|
||
|
|
assert(ackermann(2, 4) == 11);
|
||
|
|
}
|