21 lines
425 B
Plaintext
21 lines
425 B
Plaintext
using System;
|
|
using Nemerle.IO;
|
|
|
|
|
|
def ackermann(m, n) {
|
|
def A = ackermann;
|
|
match(m, n) {
|
|
| (0, n) => n + 1
|
|
| (m, 0) when m > 0 => A(m - 1, 1)
|
|
| (m, n) when m > 0 && n > 0 => A(m - 1, A(m, n - 1))
|
|
| _ => throw Exception("invalid inputs");
|
|
}
|
|
}
|
|
|
|
|
|
for(mutable m = 0; m < 4; m++) {
|
|
for(mutable n = 0; n < 5; n++) {
|
|
print("ackermann($m, $n) = $(ackermann(m, n))\n");
|
|
}
|
|
}
|