llvm-6502/test/ackermann.c
2001-10-18 21:55:07 +00:00

24 lines
425 B
C

/* -*- mode: c -*-
* $Id$
* http://www.bagley.org/~doug/shootout/
*/
int printf(const char *, int, int);
int atoi(const char *);
int
Ack(int M, int N) {
if (M == 0) return( N + 1 );
if (N == 0) return( Ack(M - 1, 1) );
return( Ack(M - 1, Ack(M, (N - 1))) );
}
int
main(int argc, char *argv[]) {
int n = ((argc == 2) ? atoi(argv[1]) : 5);
printf("Ack(3,%d): %d\n", n, Ack(3, n));
return(0);
}