18 lines
431 B
Zig
18 lines
431 B
Zig
pub fn ack(m: u64, n: u64) u64 {
|
|
if (m == 0) return n + 1;
|
|
if (n == 0) return ack(m - 1, 1);
|
|
return ack(m - 1, ack(m, n - 1));
|
|
}
|
|
|
|
pub fn main() !void {
|
|
const stdout = @import("std").io.getStdOut().writer();
|
|
|
|
var m: u8 = 0;
|
|
while (m <= 3) : (m += 1) {
|
|
var n: u8 = 0;
|
|
while (n <= 8) : (n += 1)
|
|
try stdout.print("{d:>8}", .{ack(m, n)});
|
|
try stdout.print("\n", .{});
|
|
}
|
|
}
|