public float calculateSquareRootRecursive(int number) {
    return sqrtRecursiveInner(number, 0, number);
  }
Tail recursive approach to resolve this problem. This algorithm is based on a binary search,
as
the previous one, but implemented using a tail recursive approach. In space terms, the
complexity order of this solution is O(1) and in time terms is similar to the other
implementation.

This public method uses a private method to hide the algorithm implementation.
src/main/java/com/github/pedrovgs/problem4/SquareRoot.java