aboutsummaryrefslogtreecommitdiffstats
path: root/ack.c
blob: 65010c8bb67a3c49cab18b2a715859226bdfce45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>

int ack(m, n)
int m, n;
{
        int ans;
        if (m == 0) ans = n + 1;
        else if (n == 0) ans = ack(m - 1, 1);
        else ans = ack(m - 1, ack(m, n - 1));
        return (ans);
}

int main(argc, argv)
int argc; char **argv;
{
        int i, j;
        for (j = 0; i <= 5; i++)
                for (j = 0; j <= 5; j++)
                        printf("ackerman(%d, %d) is: %d\n", i, j, ack(i, j));
        return 0;
}