import java.util.Random; public class Ackermann01_true { public static 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)); } public static void main(String[] args){ Random randomGenerator = new Random(); int m = randomGenerator.nextInt(10000); if (m < 0 || m > 3) { assert false; } int n = randomGenerator.nextInt(10000); if (n < 0 || n > 23) { assert false; } int result = ack(m,n); if (m < 0 || n < 0 || result >= 0) { assert false; } else { assert true; } } }