acker1.c 301 B

123456789101112131415161718192021222324
  1. #include <stdio.h>
  2. int acker(int, int);
  3. int
  4. main(void)
  5. {
  6. int n = acker(3,6);
  7. if (n != 509)
  8. printf("acker(3,6) = %d != 509\n", n);
  9. return(0);
  10. }
  11. int
  12. acker(int x,int y)
  13. {
  14. if (x==0)
  15. return(y+1);
  16. else if (y==0)
  17. return(acker(x-1,1));
  18. else
  19. return(acker(x-1, acker(x, y-1)));
  20. }