code: public static int factorial(int n) {
          checkNonNegative("n", n);
          return (n < int_factorials.length) ? int_factorials[n] : Integer.MAX_VALUE;
      }
docs: Returns {@code n!}, that is, the product of the first {@code n} positive
  integers, {@code 1} if {@code n == 0}, or {@link Integer#MAX_VALUE} if the
  result does not fit in a {@code int}.
  
  @throws IllegalArgumentException if {@code n < 0}