21 lines
368 B
JavaScript
21 lines
368 B
JavaScript
function stackermann(M, N) {
|
|
const stack = [];
|
|
for (;;) {
|
|
if (M === 0) {
|
|
N++;
|
|
if (stack.length === 0) return N;
|
|
const r = stack[stack.length-1];
|
|
if (r[1] === 1) stack.length--;
|
|
else r[1]--;
|
|
M = r[0];
|
|
} else if (N === 0) {
|
|
M--;
|
|
N = 1;
|
|
} else {
|
|
M--
|
|
stack.push([M, N]);
|
|
N = 1;
|
|
}
|
|
}
|
|
}
|