summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.misc-tests/acker1.c
blob: aa9d1063ceef22079c24c5fed5d4938a4c147066 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>

int acker(int, int);

int
main(void)
{
    int n = acker(3,6);
    if (n != 509)
	printf("acker(3,6) = %d != 509\n", n);
    return(0);
}

int
acker(int x,int y)
{
    if (x==0)
	return(y+1);
    else if (y==0)
	return(acker(x-1,1));
    else
	return(acker(x-1, acker(x, y-1)));
}