public int getRecursive(int n) {
    validateInput(n);

    if (n == 0) {
      return 1;
    } else {
      return n * getRecursive(n - 1);
    }
  }
Recursive implementation of the previous algorithm. The complexity order in time and space
terms is the same. Take into account that this implementation is not tail recursive.
src/main/java/com/github/pedrovgs/problem9/Factorial.java